本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂藍圖概念
以下是在中 CodeCatalyst使用自訂藍圖時應瞭解的一些概念和術語。
藍圖專案
藍圖專案可讓您開發藍圖並將其發佈到您的空間。在專案建立過程中會建立來源儲存庫,而儲存庫的名稱是您在輸入 Project 資源詳細資訊時選擇的名稱。在藍圖建立程序期間,如果您選擇產生工作流程版本,則會使用藍圖產生器藍圖在您的藍圖中建立發佈工作流程。工作流程會自動發佈您的最新版本。
空間, 藍圖
當您導覽至空間的藍圖區段時,您可以從 S pace 藍圖表格檢視和管理所有藍圖。將藍圖發佈到您的空間後,它們將作為空間藍圖提供,以便從空間的藍圖目錄中新增和移除。您也可以在空間的 [藍圖] 區段中管理發佈權限和刪除藍圖。如需詳細資訊,請參閱 檢視自訂藍圖的詳細資料、版本和專案。
空間藍圖目錄
您可以從空間的藍圖目錄檢視所有新增的自訂藍圖。在這裡,空間成員可以選擇您的自訂藍圖來建立新專案。此目錄與目錄不同, 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/
樹脂同步
Resynthesis 是使用不同藍圖選項或現有專案的藍圖版本重新產生藍圖的程序。身為藍圖作者,您可以在自訂藍圖程式碼中定義自訂合併策略。您也可以在中定義擁有權界限,.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
。祖先捆綁- 模擬使用以前版本,先前的選項或組合運行時藍圖將生成的內容。如果此資料夾中沒有任何內容,則會以與
proposed-bundle
.已解析-束一律重新產生,且預設為、與.
proposed-bundle
existing-bundle
ancestor-bundle
此套件提供了重新同步將在本機輸出的模擬。
若要深入瞭解藍圖輸出服務包,請參閱使用重新合成產生檔案。
部分選項
您可以添加選項變體src/wizard-configuration/
,而不必枚舉整個Options
界面,並且選項將合併到文件的頂部。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 頁面