DistributionチームのRenovate利用方法

DistributionチームがRenovateを利用している外部GitLabプロジェクト、MRの処理方法、Renovateのメンテナンスと新しい依存関係の追加に関するリソースについて説明します。

共通リンク

はじめに

私たちは外部リポジトリを監視し、アップグレードがリリースされたときに適切なプロジェクトへのマージリクエストを開くためにRenovateを使用しています。

現在これを使用しているプロジェクトは以下のとおりです:

リポジトリのすべての依存関係はRenovate botリポジトリで定義されています。

マージリクエストの処理

プロジェクトへのマージリクエストが作成されると、RenovateはReviewer Rouletteを使用してレビュアーをアサインします。

マージリクエストを適時に処理することはDistributionチーム全員の責任です。チームメンバーは、担当可能なマージリクエストに取り組む際は、他のアサインを削除して自分自身をアサインします。チームメンバーはアップグレードのための適切なマイルストーンを決定し、新しいソフトウェアバージョンが期待通りに動作するかを検証する必要があります。問題がなければ、changelogエントリを追加してマージリクエストをメンテナーにアサインします。

omnibus-gitlab

マージリクエストのパイプラインはトリガーされたパイプラインを実行し、パッケージをビルドしてパッケージに対してgitlab-qaを実行します。ソフトウェアによっては手動テストが必要な場合があります。満足できる状態になったら、changelogエントリを作成し、マージリクエストをメンテナーにアサインします。

CNG

パイプラインは必要なソフトウェアを使用して新しいイメージセットをビルドします。helmチャートのインスタンスを起動し、そのインスタンスに対してテストを実施します。完了したら、MRをメンテナーにアサインしてマージしてもらいます。

charts/gitlab

パイプラインはチャートのレビューアプリバージョンをインストールし、specテストとQAテストの両方がレビューアプリに対して実行されます。ソフトウェアによっては手動テストが必要な場合があります。満足できる状態になったら、changelogエントリを作成し、マージリクエストをメンテナーにアサインします。

Renovateのデバッグ

Renovateをデバッグするには、MRパイプラインによって生成されたログとアーティファクトを確認します。 このマージリクエストに例があります。

Renovateのローカルデバッグ

パイプラインは実行に時間がかかるため、より速いフィードバックを得るためにRenovateをローカルでデバッグすると便利です。

ローカルでテストする方法を説明したスニペットがあります。

追加情報