4.4. 自動化されたソフトウェアテンプレートのライフサイクル管理
ソフトウェアテンプレートがセキュリティーアップデートや設定変更を受け取った場合、それらのアップデートをすべての下流リポジトリーに自動的に適用できるため、手動でファイルを比較することなく、アプリケーションのコンプライアンスを維持できます。
自動化されたテンプレートライフサイクル管理は、ソーステンプレートを監視することで一貫性を維持します。テンプレートのバージョンが変更されると、scaffolder-relation-processor プラグインは、そのテンプレートからプロビジョニングされたすべてのエンティティーを識別し、必要なファイルの更新、追加、または削除を含むプルリクエスト (PR) またはマージリクエスト (MR) を作成します。
4.4.1. テンプレートの自動更新を有効にする リンクのコピーリンクがクリップボードにコピーされました!
ソフトウェアテンプレートからリポジトリーへの変更の同期を自動化するには、バックエンド設定でプラグインを設定し、エンティティーに必要なメタデータが含まれていることを確認する必要があります。
前提条件
- あなたは Red Hat Developer Hub の設定に対する管理者権限を持っています。
-
RHDH の app-config.yamlファイルで、GitHub または GitLab との連携を設定済みです。 -
スキャフォールディングされたエンティティーには、ソーステンプレートを参照する
spec.scaffoldedFromフィールドが含まれます。 -
エンティティーには、有効な GitHub または GitLab の URL を指す
backstage.io/managed-by-locationアノテーションが含まれています。
手順
RHDH の dynamic-plugins.yamlファイルで、テンプレート同期プラグインと通知プラグインを有効にしてください。plugins: # Enables the core template synchronization logic - package: './dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-scaffolder-relation-processor' disabled: false # Required only if you want to receive notifications for new pull requests - package: './dynamic-plugins/dist/backstage-plugin-notifications' disabled: false-
RHDH の app-config.yamlファイルを開いてください。 プルリクエスト (PR) 機能を設定するには、以下の設定を追加します。
scaffolder: pullRequests: templateUpdate: enabled: trueオプション: プルリクエストが作成されたときにエンティティーの所有者に通知するように設定を有効にする。
scaffolder: notifications: templateUpdate: enabled: true- 変更を適用するには、Red Hat Developer Hub インスタンスを再起動してください。
検証
- リポジトリー内のソーステンプレートのバージョンを更新します。
- そのテンプレートから作成されたリポジトリーに移動します。
-
[component-name]/template-upgrade-v[version]という名前の新しいプルリクエストが存在することを確認してください。