모으지 마라

9407 단어 Renovatetech

tl:dr


CI로 행동 자동 합병을 확인하는 설정을 만들었습니다.
아무튼 해보고 싶은 사람 해보세요!
renovate.json
{
    "extends": ["github>HikaruEgashira/renovate"]
}

개시하다


dependabet과 Renovate는 자주 교통 체증을 일으킨다.
渋滞.png
GiitHub은 AutoMerge 기능을 간신히 갖추고 있으므로 자동화하십시오.이런 내용.

카탈로그

  • tl:dr
  • 개시하다
  • 카탈로그
  • renovate.json 정보
  • renovate.json의 공통화
  • 이용 방법
  • 완성물
  • 최후
  • renovate.json 정보


    Renovate는 프로젝트 종속(포장)을 관리하는 Bot입니다.
    GiitHub에서 종속(포장) 업데이트를 실시간으로 모니터링합니다.
    https://github.com/renovatebot/renovate
    통상 최신 포장이 공개되면 매번 요청(PR)이 온다
    관리를 잘 못하는 사업이라면 오히려 교통 체증을 유발하는 악과가 될 수 있다.
    渋滞.png
    이러한 각양각색의 자동화 설정은 renovate.json에서 설정할 수 있다.
    자세한 내용은 아래 내용을 참고하시오.
    https://docs.renovatebot.com/configuration-options/
    이번에는 팟캐스트 주파수 조정과 AutoMerge의 자동 유효성화를 진행할 것입니다.

    renovate.json의 공통화


    모든 항목은 맞춤형으로 제작할 수 있지만 공통화는 더욱 간결할 것이라고 생각합니다.
    Renovate의 사전 설정 기능을 사용하여 자신의 사전 설정을 간단히 공개할 수 있습니다.
    글의 마지막 자신의 예설도 공개되었으니 이용해보세요!
    https://docs.renovatebot.com/config-presets/

    이용 방법


    automerge를 진짜로 설정하면 GiitHub의 autoomerge가 적용됩니다.
    renovate.json
    {
      "automerge": true,
    }
    
    또 포장 종류 등을 상세히 설정할 때도 패치에 automerge 속성을 추가할 수 있다.
    renovate.json
    {
      "packageRules": [
        {
          "matchUpdateTypes": ["minor", "patch", "pin", "digest"],
          "automerge": true
        }
      ]
    }
    

    완성물


    자기가 설정한 건 이거야.
    일정 설정과 표시 등도 진행한다.
    renovate.json
    {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": ["config:base", ":timezone(Asia/Tokyo)"],
      "labels": ["dependencies"],
      // 頻度を減らすために週末だけにしている。
      // 頻度上げたい人は`["after 10pm and before 5am every weekday", "every weekend"]`
      "schedule": ["after 10pm and before 5am every weekend"],
      "dependencyDashboard": true,
      "automerge": true,
      "packageRules": [
        // devDependenciesをまとめてPRにする
        // update-lockfile戦略で ^1.27 みたいにしておくと細かなやつも自動的に更新される
        {
          "matchDepTypes": ["devDependencies"],
          "groupName": "devDependencies",
          "rangeStrategy": "update-lockfile"
        },
        // dependenciesのminor, patchをまとめてPRにする
        // pin戦略で全て固定バージョンが表示される
        {
          "matchDepTypes": ["dependencies"],
          "matchUpdateTypes": ["minor", "patch"],
          "groupName": "dependencies (non-major)",
          "rangeStrategy": "pin"
        }
      ]
    }
    
    이 설정은 미리 설정된 것으로 공개되었습니다. 아래에서 바로 시도할 수 있습니다.
    나는 이것을 바탕으로 모든 항목에 대해 사용자 정의를 한다.
    https://github.com/HikaruEgashira/renovate
    renovate.json
    {
        "extends": ["github>HikaruEgashira/renovate"]
    }
    

    최후


    automerge는 편리하지만 CI를 잘 만들지 않으면 볼이 합쳐져 발생할 가능성이 높다.
    이 설정을 사용할 때 CI도 잘 정리해야 합니다!!

    좋은 웹페이지 즐겨찾기