Distribution チームの Renovate 利用

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

共通リンク

はじめに

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

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

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

マージリクエストの処理

プロジェクトへのマージリクエストが開かれると、Renovate はレビュアールーレットを使用してレビュアーをアサインします。

マージリクエストが適切なタイミングで処理されることを確保するのは Distribution チーム全体の責任です。チームメンバーは作業を開始するときに、他のアサイニーを削除して、利用可能なマージリクエストを自分自身にアサインする必要があります。チームメンバーはアップグレードのために適切なマイルストーンを決定し、新しいソフトウェアバージョンが期待通りに動作することを確認する必要があります。すべて問題なければ、changelog エントリを追加して、マージリクエストをメンテナーにアサインします。

omnibus-gitlab

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

CNG

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

charts/gitlab

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

Renovate のデバッグ

Renovate をデバッグするには、MR パイプラインで生成されたログとアーティファクトを確認してください。例として、この マージリクエスト を参照できます。

ローカルでの Renovate デバッグ

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

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

追加情報