カスタムブループリントの概念 - Amazon CodeCatalyst

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

カスタムブループリントの概念

でカスタムブループリントを使用する際に知っておくべき概念と用語をいくつか紹介します CodeCatalyst。

設計図プロジェクト

ブループリントプロジェクトを使用すると、ブループリントを開発してスペースに公開できます。ソースリポジトリはプロジェクト作成プロセス中に作成され、リポジトリの名前はプロジェクトリソースの詳細を入力するときに選択した名前です。ブループリントの作成プロセス中にワークフローリリースを生成することを選択した場合、ブループリントビルダーブループリントを使用して公開ワークフローがブループリントに作成されます。ワークフローは最新バージョンを自動的に公開します。

スペースの設計図

スペースのブループリントセクションに移動すると、スペースブループリントテーブルからすべてのブループリントを表示および管理できます。ブループリントがスペースに公開されると、スペースブループリントカタログに追加および削除するスペースブループリントとして利用可能になります。また、スペースの「ブループリント」セクションで、 から公開許可を管理したり、ブループリントを削除したりすることもできます。詳細については、「カスタムブループリントの詳細、バージョン、プロジェクトの表示」を参照してください。

スペースブループリントカタログ

スペースのブループリントカタログから、追加されたすべてのカスタムブループリントを表示できます。ここで、スペースメンバーがカスタムブループリントを選択して新しいプロジェクトを作成できます。このカタログは、すべてのスペースメンバーに使用可能なブループリントが既にある CodeCatalyst カタログとは異なります。詳細については、「 CodeCatalyst ブループリントを使用した包括的なプロジェクトの作成」を参照してください。

合成

合成は、 CodeCatalyst プロジェクト内のソースコード、設定、リソースを表すプロジェクトバンドルを生成するプロセスです。その後、バンドルは CodeCatalyst デプロイAPIオペレーションによってプロジェクトにデプロイされます。このプロセスは、カスタムブループリントを開発しながらローカルで実行でき、 でプロジェクトを作成することなくプロジェクトの作成をエミュレートできます CodeCatalyst。合成を実行するには、次のコマンドを使用できます。

yarn blueprint:synth # fast mode yarn blueprint:synth --cache # wizard emulation mode

ブループリントは、 にマージされたオプションを使用してメインblueprint.tsクラスを呼び出すことから始めますdefaults.json。新しいプロジェクトバンドルが synth/synth.[options-name]/proposed-bundle/フォルダの下に生成されます。出力には、設定したオプションと設定した部分的なオプションを考慮して、カスタムブループリントが生成するプロジェクトバンドルが含まれます。

再合成

再合成とは、さまざまな設計図オプションまたは既存のプロジェクトの設計図バージョンを使用して設計図を再生成するプロセスです。設計図の作成者は、カスタム設計図コードでカスタムマージ戦略を定義できます。で所有権の境界を定義.ownership-fileして、ブループリントの更新が許可されるコードベースの部分を指定することもできます。カスタムブループリントは の更新を提案できますが.ownership-file、カスタムブループリントを使用するプロジェクトデベロッパーは、プロジェクトの所有権の境界を決定できます。再合成をローカルで実行し、カスタムブループリントを公開する前にテストして更新できます。再合成を実行するには、次のコマンドを使用します。

yarn blueprint:resynth # fast mode yarn blueprint:resynth --cache # wizard emulation mode

ブループリントは、 にマージされたオプションを使用してメインblueprint.tsクラスを呼び出すことから始めますdefaults.json。新しいプロジェクトバンドルが synth/resynth.[options-name]/フォルダの下に生成されます。出力には、設定したオプションと設定した部分的なオプションを考慮して、カスタムブループリントが生成するプロジェクトバンドルが含まれます。

合成および再合成プロセス後に、次の内容が作成されます。

  • proposed-bundle - ターゲットブループリントバージョンの新しいオプションを使用して実行されるときの合成の出力。

  • existing-bundle - 既存のプロジェクトのモック。このフォルダに何もない場合は、 と同じ出力で生成されますproposed-bundle

  • ancestor-bundle - 以前のバージョン、以前のオプション、または組み合わせのいずれかで実行したときにブループリントが生成する内容のモック。このフォルダに何もない場合は、 と同じ出力で生成されますproposed-bundle

  • resolved-bundle - バンドルは常に再生成され、デフォルトで proposed-bundle、、 existing-bundle間の 3 方向マージになりますancestor-bundle。このバンドルは、再合成がローカルに出力する内容をエミュレーションします。

ブループリント出力バンドルの詳細については、「」を参照してください再合成によるファイルの生成

部分的なオプション

Options インターフェイス全体を列挙する必要src/wizard-configuration/のないオプションバリエーションを に追加できます。オプションは defaults.json ファイルの上にマージされます。これにより、特定のオプション間でテストケースを調整できます。

例:

Options インターフェイス:

{ language: "Python" | "Java" | "Typescript", repositoryName: string ... }

defaults.json ファイル:

{ language: "Python", repositoryName: "Myrepo" ... }

その他の設定テスト:

  • #wizard-config-typescript-test.json { language: "Typescript", }
  • #wizard-config-java-test.json { language: "Java", }

プロジェン

Projen は、カスタムブループリントが更新と一貫性を維持するために使用するオープンソースツールです。ブループリントは Projen パッケージとして提供されます。このフレームワークでは、プロジェクトを構築、バンドル、公開でき、 インターフェイスを使用してプロジェクトの設定と設定を管理できるためです。

Projen を使用すると、ブループリントの作成後でも、ブループリントを大規模に更新できます。Projen ツールは、プロジェクトバンドルを生成する設計図合成の基盤となるテクノロジーです。Projen はプロジェクトの設定を所有しており、設計図の作成者としてのユーザーには影響しません。依存関係を追加した後に yarn projenを実行してプロジェクトの設定を再生成することも、 projenrc.ts ファイルのオプションを変更することもできます。Projen は、プロジェクトを合成するためのカスタムブループリントの基盤となる生成ツールでもあります。詳細については、「projen GitHub 」ページを参照してください。Projen の操作の詳細については、Projen ドキュメント を参照してください。