

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將自訂藍圖發佈至空間
<a name="publish-bp"></a>

您必須先將自訂藍圖發佈至空間，才能將自訂藍圖新增至空間的藍圖目錄。您也可以在發佈之前在 CodeCatalyst 主控台中檢視藍圖。您可以發佈預覽版本或藍圖的正常版本。

**重要**  
如果您想要使用來自外部來源的藍圖套件，請考慮這些套件可能帶來的風險。您需為您新增至空間的自訂藍圖及其產生的程式碼負責。

**重要**  
若要發佈自訂藍圖到您的 CodeCatalyst 空間，您必須使用空間中具有 **Space 管理員**或 **Power 使用者**角色的帳戶登入。

**Topics**
+ [檢視和發佈自訂藍圖的預覽版本](#publish-preview-bp)
+ [檢視和發佈自訂藍圖的一般版本](#publish-normal-bp)
+ [在指定的空間和專案中發佈和新增自訂藍圖](#publish-preview-existing-project-bp)

## 檢視和發佈自訂藍圖的預覽版本
<a name="publish-preview-bp"></a>

如果您想要將自訂藍圖的預覽版本新增至空間的藍圖目錄，您可以將其發佈至您的空間。這可讓您以使用者身分檢視藍圖，然後再將非預覽版本新增至目錄。預覽版本可讓您發佈 ，而不需佔用實際版本。例如，如果您使用 `0.0.1`版本，您可以發佈並新增預覽版本，因此可以發佈第二個版本的新更新並新增為 `0.0.2`。

進行變更後，請執行 `package.json` 檔案來重建自訂藍圖的套件，並預覽您的變更。

**檢視和發佈自訂藍圖的預覽版本**

1. 繼續開發環境。如需詳細資訊，請參閱 [恢復開發環境](devenvironment-resume.md)

1. 在開發環境中開啟工作終端機。

1. （選用） 在運作中的終端機中，如果您尚未安裝專案的必要相依性，請為專案安裝這些相依性。使用下列命令：

   ```
   yarn
   ```

1. （選用） 如果您變更 `.projenrc.ts` 檔案，請在建置和預覽藍圖之前重新產生專案的組態。使用下列命令：

   ```
   yarn projen
   ```

1. 使用以下命令重建和預覽您的自訂藍圖。使用下列命令：

   ```
   yarn blueprint:preview
   ```

   導覽至提供`See this blueprint at:`的連結以預覽您的自訂藍圖。檢查包含文字的 UI 是否根據您的組態如預期顯示。如果您想要變更自訂藍圖，您可以編輯`blueprint.ts`檔案、重新合成藍圖，然後再次發佈預覽版本。如需詳細資訊，請參閱[重新合成](custom-bp-concepts.md#resynthesis-concept)。

1. （選用） 您可以發佈自訂藍圖的預覽版本，然後將其新增至空間的藍圖目錄。導覽至`Enable version [preview version number] at:`連結，將預覽版本發佈至您的空間。

您可以模擬專案建立，而無需在 CodeCatalyst 中建立專案。若要合成您的專案，請使用下列命令：

```
yarn blueprint:synth
```

藍圖會在 `synth/synth.[options-name]/proposed-bundle/` 資料夾中產生。如需詳細資訊，請參閱[合成](custom-bp-concepts.md#synthesis-concept)。

如果您要更新自訂藍圖，請使用下列命令來重新合成專案：

```
yarn blueprint:resynth
```

藍圖會在 `synth/synth.[options-name]/proposed-bundle/` 資料夾中產生。如需詳細資訊，請參閱[重新合成](custom-bp-concepts.md#resynthesis-concept)。

發佈預覽版本後，您可以新增藍圖，讓空間成員可以使用它來建立新專案或新增現有專案。如需詳細資訊，請參閱[將自訂藍圖新增至空間藍圖目錄](add-bp.md)。

## 檢視和發佈自訂藍圖的一般版本
<a name="publish-normal-bp"></a>

完成開發和預覽自訂藍圖後，您可以檢視並發佈要新增至空間藍圖目錄的新版本。建立專案時產生的發行工作流程會自動發佈推送的變更。如果您在建立藍圖時關閉工作流程產生，您的藍圖不會自動提供，以新增至空間的藍圖目錄。執行`yarn`命令後，您仍然可以將自訂藍圖發佈到您的空間。

**檢視和發佈自訂藍圖**

1. 繼續開發環境。如需詳細資訊，請參閱 [恢復開發環境](devenvironment-resume.md)

1. 在開發環境中開啟工作終端機。

1. 
   + 如果您在建立藍圖時選擇退出發佈工作流程產生，請使用下列命令：

     ```
     yarn blueprint:release
     ```

     您仍然可以導覽至提供`See this blueprint at:`的連結，以檢視您的自訂藍圖。

     發佈自訂藍圖的更新版本，然後可以將其新增至空間的藍圖目錄。導覽至`Enable version [release version number] at:`連結，將最新版本發佈到您的空間。
   + 如果您在建立藍圖時選擇加入發行工作流程，則推送變更時會自動發佈最新的藍圖版本。使用下列命令：

     ```
     git add .
     ```

     ```
     git commit -m "commit message"
     ```

     ```
     git push
     ```

發佈一般版本後，您可以新增藍圖，讓空間成員可以使用它來建立新專案或新增現有專案。如需詳細資訊，請參閱[將自訂藍圖新增至空間藍圖目錄](add-bp.md)。

## 在指定的空間和專案中發佈和新增自訂藍圖
<a name="publish-preview-existing-project-bp"></a>

根據預設， `blueprint:preview`和 `blueprint:release`命令會發佈到您建立藍圖的 CodeCatalyst 空間。如果您有多個企業空間，您也可以在這些空間中預覽和發佈相同的藍圖。您也可以將藍圖新增至另一個空間的現有專案。

**在指定空間中發佈或新增自訂藍圖**

1. 繼續開發環境。如需詳細資訊，請參閱[恢復開發環境](devenvironment-resume.md)。

1. 在開發環境中開啟工作終端機。

1. （選用） 如果您尚未安裝專案，請為專案安裝必要的相依性。使用下列命令：

   ```
   yarn
   ```

1. 使用 `--space`標籤將預覽或一般版本發佈至指定的空間。例如：
   + 

     ```
     yarn blueprint:preview --space my-awesome-space # publishes under a "preview" version tag to 'my-awesome-space'
     ```

     輸出範例：

     ```
     Enable version 0.0.1-preview.0 at: https://codecatalyst.aws/spaces/my-awesome-space/blueprints
     Blueprint applied to [NEW]: https://codecatalyst.aws/spaces/my-awesome-space/blueprints/%40amazon-codecatalyst%2Fmyspace.my-blueprint/publishers/1524817d-a69b-4abe-89a0-0e4a9a6c53b2/versions/0.0.1-preview.0/projects/create
     ```
   + 

     ```
     yarn blueprint:release --space my-awesome-space # publishes normal version to 'my-awesome-space'
     ```

     輸出範例：

     ```
     Enable version 0.0.1 at: https://codecatalyst.aws/spaces/my-awesome-space/blueprints
     Blueprint applied to [NEW]: https://codecatalyst.aws/spaces/my-awesome-space/blueprints/%40amazon-codecatalyst%2Fmyspace.my-blueprint/publishers/1524817d-a69b-4abe-89a0-0e4a9a6c53b2/versions/0.0.1/projects/create
     ```

   使用 `--project`將自訂藍圖的預覽版本新增至指定空間中的現有專案。例如：

   ```
   yarn blueprint:preview --space my-awesome-space --project my-project # previews blueprint application to an existing project
   ```

   輸出範例：

   ```
   Enable version 0.0.1-preview.1 at: https://codecatalyst.aws/spaces/my-awesome-space/blueprints
   Blueprint applied to [my-project]: https://codecatalyst.aws/spaces/my-awesome-space/projects/my-project/blueprints/%40amazon-codecatalyst%2FmySpace.my-blueprint/publishers/1524817d-a69b-4abe-89a0-0e4a9a6c53b2/versions/0.0.1-preview.1/add
   ```