CodeCatalyst でカスタムブループリントを使用する際に知っておくべき概念と用語をいくつか紹介します。
ブループリントプロジェクト
ブループリントプロジェクトを使用すると、スペースにブループリントを開発して公開できます。ソースリポジトリはプロジェクト作成プロセス中に作成され、リポジトリの名前は [プロジェクトリソース] の詳細を入力するときに選択した名前です。ブループリント作成プロセス中にワークフローリリースを生成することを選択した場合、[ブループリントビルダー] ブループリントを使用して公開ワークフローがブループリントに作成されます。ワークフローは、最新バージョンを自動的に公開します。
スペースのブループリント
スペースのブループリントセクションに移動すると、[スペースブループリント] テーブルからすべての [ブループリント] を表示および管理できます。ブループリントがスペースに公開されると、スペースブループリントとして利用可能になり、スペースのブループリントカタログに追加および削除されます。また、スペースの [ブループリント] セクションで公開許可を管理し、ブループリントを削除することもできます。詳細については、「カスタムブループリントの詳細、バージョン、プロジェクトの表示」を参照してください。
スペースブループリントカタログ
スペースのブループリントカタログから追加されたすべてのカスタムブループリントを表示できます。これは、スペースメンバーがカスタムブループリントを選択して新しいプロジェクトを作成できる場所です。このカタログは CodeCatalyst カタログとは異なります。このカタログには、すべてのスペースメンバーに使用可能なブループリントが既にあります。詳細については、「CodeCatalyst ブループリントを使用した包括的なプロジェクトの作成」を参照してください。
合成
合成は、プロジェクト内のソースコード、設定、リソースを表す CodeCatalyst プロジェクトバンドルを生成するプロセスです。その後、バンドルは CodeCatalyst デプロイ API オペレーションによってプロジェクトにデプロイされます。このプロセスは、カスタムブループリントを開発しながらローカルで実行でき、CodeCatalyst でプロジェクトを作成せずにプロジェクトの作成をエミュレートできます。次のコマンドを使用して合成を実行できます。
yarn blueprint:synth # fast mode yarn blueprint:synth --cache # wizard emulation mode
ブループリントは、defaults.json
にマージされたオプションを使用してメイン blueprint.ts
クラスを呼び出すことで開始します。synth/synth.
フォルダの下に新しいプロジェクトバンドルが生成されます。出力には、設定したオプションを考慮して、カスタムブループリントが生成するプロジェクトバンドルが含まれます。これには、設定した部分的なオプションも含まれます。[options-name]
/proposed-bundle/
再合成
再合成は、異なるブループリントオプションまたは既存のプロジェクトのブループリントバージョンを使用してブループリントを再生成するプロセスです。ブループリント作成者は、カスタムブループリントコードでカスタムマージ戦略を定義できます。.ownership-file
でオーナーシップの境界を定義して、ブループリントの更新が許可されるコードベースの部分を指定することもできます。カスタムブループリントは .ownership-file
の更新を提案できますが、カスタムブループリントを使用するプロジェクトデベロッパーは、プロジェクトのオーナーシップの境界を決定できます。カスタムブループリントを公開する前に、再合成をローカルで実行し、テストと更新を行えます。再同期を実行するには、次のコマンドを使用します。
yarn blueprint:resynth # fast mode yarn blueprint:resynth --cache # wizard emulation mode
ブループリントは、defaults.json
にマージされたオプションを使用してメイン blueprint.ts
クラスを呼び出すことで開始します。synth/resynth.
フォルダの下に新しいプロジェクトバンドルが生成されます。出力には、設定したオプションを考慮して、カスタムブループリントが生成するプロジェクトバンドルが含まれます。これには、設定した部分的なオプションも含まれます。[options-name]
/
合成および再合成プロセス後に、次のコンテンツが作成されます。
proposed-bundle - ターゲットブループリントバージョンの新しいオプションで実行された場合の合成の出力です。
existing-bundle - 既存のプロジェクトのモックです。このフォルダに何もない場合は、
proposed-bundle
と同じ出力で生成されます。ancestor-bundle - 以前のバージョン、以前のオプション、または組み合わせで実行したときにブループリントが生成する内容のモックです。このフォルダに何もない場合、 と同じ出力で生成されます
proposed-bundle
。resolved-bundle - バンドルは常に再生成され、デフォルトで
proposed-bundle
、existing-bundle
、ancestor-bundle
および 間の 3 方向マージになります。このバンドルは、再合成がローカルに出力するエミュレーションを提供します。
ブループリント出力バンドルの詳細については、「再合成によってファイルを生成する」を参照してください。
部分的なオプション
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 は、プロジェクトを合成するためのカスタムブループリントの基礎となる生成ツールでもあります。詳細については、GitHub で「 プロジェクト