tmegos blog

I love school idols / Web developer

GitLabでrenovateを使う

公式ドキュメントの通りにuser/renovate-runnerなど、renovateのrunnerを実行するだけのプロジェクトを作成して、renovateが必要なプロジェクトを参照してもらう方法がよさそうです

gitlab.com

環境

  • gitlab.com
  • GitLab Enterprise Edition 13.8.0-pre

1. renovateのrunner用の空のプロジェクトを作成する

Private repositoryに対してrenovateを実行する場合、runnerのプロジェクトをpublicにすると、パッケージなどの情報がCIのログとして出力されてしまうため注意が必要です

f:id:tmegos:20201231152917p:plain:w300

2-1. renovate用のPersonal Access Tokenを作成する

read_user, apiwrite_repository を有効にしたPersonal Access Tokenを作成します
トークンは作成した直後しかコピーできないので注意しましょう

f:id:tmegos:20201231153406p:plain:w600

2-1. (option) GitHubのPersonal Access Tokenを作成する

GitHubのPersonal Access Tokenを作成すると、renovateのMRにRelease Notesが表示されるようになります

ドキュメントに(minimum scopes)とありますが、すべてのチェックを外してトークンを作成すればOKです

※ こちらのトークンも作成した直後しかコピーできないので注意しましょう

f:id:tmegos:20201231160208p:plain:w600

2-2. variablesの設定

Settings → CI / CD → Variables で

  • RENOVATE_TOKEN
  • GITHUB_COM_TOKEN (optional)
  • RENOVATE_EXTRA_FLAGS

を設定します

RENOVATE_EXTRA_FLAGSには、renovateを実行してほしいリポジトリを指定します

  • user/hoge

など

f:id:tmegos:20201231155054p:plain:w600

3. 1で作成したプロジェクトに、gitlab-ci.ymlを作成します

scheduleで動くようにします

include:
  - project: 'renovate-bot/renovate-runner'
    file: '/templates/renovate-dind.gitlab-ci.yml'

renovate:
  only:
    - schedules

4. スケジュールの設定

CI / CD → Schedules でスケジュールの設定をします

f:id:tmegos:20201231155758p:plain:w300

スケジュールが作成できたら、スケジュール一覧から実行ボタンで動作確認ができます

f:id:tmegos:20201231160028p:plain:w600