Distribution チームの Renovate 利用
共通リンク
はじめに
私たちは Renovate を使用して外部リポジトリを監視し、アップグレードがリリースされたときに適切なプロジェクトへマージリクエストを開きます。
現在これを使用しているプロジェクトは以下のとおりです:
リポジトリのすべての依存関係は Renovate bot リポジトリ で定義されています。
マージリクエストの処理
プロジェクトへのマージリクエストが開かれると、Renovate はレビュアールーレットを使用してレビュアーをアサインします。
マージリクエストが適切なタイミングで処理されることを確保するのは Distribution チーム全体の責任です。チームメンバーは作業を開始するときに、他のアサイニーを削除して、利用可能なマージリクエストを自分自身にアサインする必要があります。チームメンバーはアップグレードのために適切なマイルストーンを決定し、新しいソフトウェアバージョンが期待通りに動作することを確認する必要があります。すべて問題なければ、changelog エントリを追加して、マージリクエストをメンテナーにアサインします。
omnibus-gitlab
マージリクエストのパイプラインはトリガーされたパイプラインを実行し、パッケージをビルドしてパッケージに対して gitlab-qa を実行します。ソフトウェアによっては、手動テストが必要な場合があります。満足したら、changelog エントリを作成し、マージリクエストをメンテナーにアサインします。
CNG
パイプラインは必要なソフトウェアを使用して新しいイメージセットをビルドします。helm チャートのインスタンスを起動し、そのインスタンスに対してテストを実行します。完了したら、MR をマージのためにメンテナーにアサインします。
charts/gitlab
パイプラインはチャートのレビューアプリバージョンをインストールし、レビューアプリに対してスペックテストと QA テストの両方が実行されます。ソフトウェアによっては、手動テストが必要な場合があります。満足したら、changelog エントリを作成し、マージリクエストをメンテナーにアサインします。
Renovate のデバッグ
Renovate をデバッグするには、MR パイプラインで生成されたログとアーティファクトを確認してください。例として、この マージリクエスト を参照できます。
ローカルでの Renovate デバッグ
パイプラインの実行には時間がかかるため、より迅速なフィードバックのためにローカルで Renovate をデバッグすると便利です。
ローカルでのテスト方法を説明する スニペット があります。
追加情報
- 追加情報は Distribution: Renovate GitLab Bot 101 にあります。
- 新しい依存関係を追加するための具体的な手順は Renovate GitLab ドキュメント にあります。
