ブループリントユーザーとしてのライフサイクル管理の使用 - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ブループリントユーザーとしてのライフサイクル管理の使用

ライフサイクル管理は、更新されたオプションまたは設計図のバージョンからコードベースを再生成する機能です。これにより、設計図の作成者は、特定の設計図を含むすべてのプロジェクトのソフトウェア開発ライフサイクルを一元管理できます。例えば、ウェブアプリケーションブループリントにセキュリティ修正をプッシュすると、ウェブアプリケーションブループリントを含む、またはウェブアプリケーションブループリントから作成されたすべてのプロジェクトで、その修正を自動的に取得できるようになります。この同じ管理フレームワークにより、設計図ユーザーは、設計図オプションを選択した後に変更することもできます。

既存のプロジェクトでのライフサイクル管理の使用

ライフサイクル管理は、ブループリントから作成されたプロジェクト、またはブループリントに関連付けられていない既存のプロジェクトに使用できます。例えば、設計図から一度も作成されなかった five-year-old Java アプリケーションに、標準のセキュリティプラクティスの設計図を追加できます。設計図は、セキュリティスキャンワークフローおよびその他の関連コードを生成します。これで、Java アプリケーションのコードベースのその部分は、設計図に変更が加えられるたびに、チームのベストプラクティスに合わせて自動的に最新の状態になります。

プロジェクト内の複数のブループリントでのライフサイクル管理の使用

設計図はアーキテクチャコンポーネントを表すため、複数の設計図を同じプロジェクトで一緒に使用することがよくあります。例えば、プロジェクトは、企業のプラットフォームエンジニアによって構築された中央ウェブ API ブループリントと、アプリケーションセキュリティチームが構築したリリースチェックブループリントで構成できます。これらの設計図はそれぞれ個別に更新でき、過去に適用されたマージ解決が記憶されます。

注記

任意のアーキテクチャコンポーネントとして、すべてのブループリントが互いに結合しようとしても、一緒に意味をなしたり、論理的に一緒に動作したりするわけではありません。

ライフサイクルプルリクエストでの競合の操作

場合によっては、ライフサイクルプルリクエストによってマージの競合が発生することがあります。これらは手動で解決できます。解決策は、その後の設計図の更新時に記憶されます。

ライフサイクル管理の変更のオプトアウト

ユーザーはプロジェクトからブループリントを削除して、ブループリントへのすべての参照の関連付けを解除し、ライフサイクル更新をオプトアウトできます。安全上の理由から、設計図から追加されたものを含め、プロジェクトのコードやリソースを削除したり、影響を与えたりすることはありません。詳細については、「プロジェクトからブループリントの関連付けを解除して更新を停止する」を参照してください。

プロジェクトでのブループリントのライフサイクル管理の上書き

プロジェクト内の特定のファイルに対する設計図の更新を上書きする場合は、リポジトリに所有権ファイルを含めることができます。GitLabのコード所有者仕様が推奨ガイドラインです。設計図では、常に他のものよりもコード所有者ファイルが優先され、次のようなサンプルを生成できます。

new BlueprintOwnershipFile(sourceRepo, { resynthesis: { strategies: [ { identifier: 'dont-override-sample-code', description: 'This strategy is applied accross all sample code. The blueprint will create sample code, but skip attempting to update it.', strategy: MergeStrategies.neverUpdate, globs: [ '**/src/**', '**/css/**', ], }, ], }, });

これにより、次の内容.ownership-fileの が生成されます。

[dont-override-sample-code] @amazon-codecatalyst/blueprints.import-from-git # This strategy is applied accross all sample code. The blueprint will create sample code, but skip attempting to update it. # Internal merge strategy: neverUpdate **/src/** **/css/**