아쿠아의 최근 업데이트 가져오기 쉬움 (2021-12-29)

YAML을 통해 CLI 도구를 관리할 수 있는 도구 aqua를 개발 중입니다.
https://aquaproj.github.io/
https://zenn.dev/topics/aquaclivm
요 며칠 업데이트가 aqua에 가져오기 쉬우니까 소개해 드릴게요.
예를 들어 아쿠아를 이용하여tfcmtgithub-commentinstall를 진행하는 절차를 소개한다.
https://zenn.dev/shunsuke_suzuki/articles/improve-terraform-cicd-with-tfcmt
https://zenn.dev/shunsuke_suzuki/articles/improve-cicd-with-github-comment
집필할 때의 판본은 다음과 같다.

  • aqua : v0.8.8

  • aqua-installer : v0.4.0

  • aqua-renovate-config : 0.1.2
  • Update
  • aqua init 명령 가져오기
  • aqua-renovate-config와 aqua-installer를 개선하여 더욱 간결하게 사용
  • aqua-renovate-config를 고정시킬 수 있는version
  • aqua init 명령 가져오기


    aqua.yaml 초기 생성 명령 aqua init 이 추가되었습니다.
    지금까지 설정 파일을 적당한 곳에서 복사했지만 지령으로 완성했다.
    $ aqua init
    

    aqua-renovate-config와 aqua-installer의 개선

  • aqua-installer를 통해 install의 aqua버전을 aqua-renovate-config에 추가 설정 없이 업데이트
  • aqua-renovate-config를 고정시킬 수 있는version
  • aqua-installer를 통해PATH의 설정과aqua i의 집행
  • 좀 더 간결하게 기술할 수 있고 RenovateRegex Manager 설정을 쓰지 않아도 되기 때문에 리노베이트에 익숙하지 않은 사람도 쉽게 가져올 수 있다.

    AS IS


    GitHub Actions
    - uses: aquaproj/aqua-[email protected]
      with:
        version: v0.8.8 # renovate: depName=aquaproj/aqua
    - run: echo "${AQUA_ROOT_DIR:-$HOME/.aqua}/bin" >> $GITHUB_PATH
    - run: aqua i -l
    
    renovate.json
    {
      "extends": [
        "github>aquaproj/aqua-renovate-config"
      ],
      "regexManagers": [
        {
          "fileMatch": ["^\\.github/.*\\.ya?ml$"],
          "matchStrings": [
            "version: (?<currentValue>.*?) # renovate: depName=(?<depName>.*)"
          ],
          "datasourceTemplate": "github-releases"
        }
      ]
    }
    

    TO BE


    - uses: aquaproj/aqua-[email protected]
      with:
        aqua_version: v0.8.8
    
    {
      "extends": [
        "github>aquaproj/aqua-renovate-config#0.1.2"
      ]
    }
    

    aqua-renovate-config의version을 고정시킬 수 있도록 합니다


    이것은 편리성이라기보다는 신뢰성 개선이라고 할 수 있지만 아쿠아-renovate-config의version을 고정시킬 수 있다.
    원본Renovate Preset Config 버전 고정 방법 없음
    default branch만 사용할 수 있습니다.
    나는 그것이 올해 11월에 버젼을 고정시킬 수 있다는 것을 알아차렸다.
    https://github.com/renovatebot/renovate/pull/11565
    그래서 아쿠아-renovate-config에도 패치버젼을 하기로 했어요.
    병목 현상은 현재 Renovate Preset을 사용하지 않는 Renovate Manager
    갑자기 프리셋의 내용이 바뀌면 망가지지 않는다(워낙 달라진 게 없다).

    aqua install tfcmt,github-commeent


    GiitHub Actionstfcmt에서 수행github-comment하고 싶습니다.
    먼저 aqua를 local에 입력하겠습니다.
    $ brew install aquaproj/aqua/aqua
    $ echo 'export PATH=$HOME/.aqua/bin:$PATH' >> .bash_profile
    
    다음에 대상의 창고에 파일을 추가합니다.
  • aqua.yaml
  • renovate.json
  • GitHub Actions
  • $ aqua init
    $ aqua g suzuki-shunsuke/tfcmt suzuki-shunsuke/github-comment >> aqua.yaml
    
    참고로 Terraform과tfenv도 aqua를 통해 설치할 수 있습니다.
    renovate.json
    {
      "extends": [
        "github>aquaproj/aqua-renovate-config#0.1.2"
      ]
    }
    
    GiitHub Actions(부분 발췌문)
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: aquaproj/aqua-[email protected]
            with:
              aqua_version: v0.8.8
          - run: github-comment -v
          - run: tfcmt -v
    
    이상, github-commeent와 tfcmt는 GiitHub Actions에서 수행할 수 있습니다.또한 Renovate 는 계속해서 향상될 것입니다.
    조개 스크립트와 setup용 Action을 인스타일 도구로 자주 사용하면 버전이 낡았지만 아쿠아를 보면 안 그래요.
    이번 업데이트에서 아쿠아 자체도 특별한 설정 없이 업데이트가 되어 편리해졌습니다(다른 사람에게 추천하기 쉬워졌습니다).

    Dependabet과 간섭하지 않도록 Renovate 가져오기


    이번 업데이트와는 상관없으니 겸사겸사 쓰세요.
    아쿠아에서 자동 업데이트를 지속하려면 리노베이트가 필요하지만, 디펜더벳 등을 가져왔기 때문에 리노베이트를 가져오기 어려운 경우도 있다.
    아무 생각 없이 가져오면 같은 패키지가 디펜더벳과 리노베이트 양쪽에서 업데이트될 가능성이 크다.
    이 경우 리노베이트includePaths 등을 통해 대상 aqua를 적용한다.모기장.github 밑으로 제한하면 간섭을 피할 수 있다.

    좋은 웹페이지 즐겨찾기