

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

# HealthOmics 工作流程與 Git 型儲存庫整合
<a name="workflows-git-integration"></a>

當您建立工作流程 （或工作流程版本） 時，您會提供工作流程定義，以指定工作流程、執行和任務的相關資訊。HealthOmics 可以將工作流程定義擷取為 .zip 封存檔 （儲存在本機或 Amazon S3 儲存貯體中），或從支援的 Git 型儲存庫擷取。

HealthOmics 與 Git 型儲存庫整合可啟用下列功能：
+ 從公有、私有和自我管理執行個體直接建立工作流程。
+ 從 儲存庫整合工作流程 README 檔案和參數範本。
+ 支援 GitHub、GitLab 和 Bitbucket 儲存庫。

透過使用 Git 型儲存庫，您可以避免手動下載工作流程定義檔案和輸入參數範本檔案、建立 .zip 封存，然後將封存暫存到 S3。這可簡化案例的工作流程建立，例如下列範例：

1. 您想要使用常見的開放原始碼工作流程快速開始使用，例如 nf-core。HealthOmics 會自動從 GitHub 上的 nf 核心儲存庫擷取所有工作流程定義和輸入參數範本檔案，並使用這些檔案來建立新的工作流程。

1. 您正在使用 GitHub 的公有工作流程，並推出一些新的更新。您可以使用 GitHub 上更新的工作流程定義作為來源，輕鬆建立新的 HealthOmics 工作流程版本。工作流程的使用者可以選擇原始工作流程或您建立的新工作流程版本。

1. 您的團隊正在建置非公開的專屬管道。您可以將程式碼保留在私有 git 儲存庫上，並將此工作流程定義用於 HealthOmics 工作流程。團隊經常更新工作流程定義，作為反覆工作流程開發生命週期的一部分。您可以從私有儲存庫視需要輕鬆建立新的工作流程版本。

**Topics**
+ [支援的 Git 型儲存庫](#workflows-git-supported)
+ [設定與外部程式碼儲存庫的連線](#workflows-git-connections)
+ [存取自我管理儲存庫](#workflows-git-self-managed)
+ [與外部程式碼儲存庫相關的配額](#workflows-git-quotas)
+ [所需的 IAM 許可](#workflows-git-permissions)

## 支援的 Git 型儲存庫
<a name="workflows-git-supported"></a>

HealthOmics 支援下列 Git 型供應商的公有和私有儲存庫：
+ GitHub 
+ GitLab 
+ Bitbucket 

HealthOmics 支援下列 Git 型供應商的自我管理儲存庫：
+ GitHubEnterpriseServer 
+ GitLabSelfManaged 

HealthOmics 支援使用 GitHub、GitLab 和 Bitbucket 的跨帳戶連線。透過 AWS Resource Access Manager 設定共用許可。如需範例，請參閱 *CodePipeline 使用者指南*中的[共用連線](https://docs.aws.amazon.com/codepipeline/latest/userguide/connections-shared.html)。

## 設定與外部程式碼儲存庫的連線
<a name="workflows-git-connections"></a>

使用 AWS CodeConnection 將您的工作流程連接至 Git 型儲存庫。HealthOmics 使用此連線來存取您的原始碼儲存庫。

**注意**  
AWS CodeConnections 服務不適用於 il-central-1 區域。在此區域中，設定 service us-east-1 以從儲存庫建立工作流程或工作流程版本。

### 建立連線
<a name="workflows-git-connection-create"></a>

在建立連線之前，請遵循《 *開發人員主控台工具使用者指南*》中[設定連線](https://docs.aws.amazon.com/dtconsole/latest/userguide/setting-up-connections.html)的指示。

若要建立連線，請遵循《 *開發人員主控台工具使用者指南*》中的[建立連線](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html)中的指示。

### 設定連線的授權
<a name="workflows-git-connection-create"></a>

您必須使用提供者的 OAuth 流程授權連線。在使用連線`AVAILABLE`之前，請確定連線狀態為 。

如需範例，請參閱部落格文章[如何從 Git 中的內容建立 AWS HealthOmics 工作流程](https://repost.aws/articles/ARCEN7AjhaRSmteczRoc_QsA/how-to-create-an-aws-healthomics-workflows-from-content-in-git)。

## 存取自我管理儲存庫
<a name="workflows-git-self-managed"></a>

若要設定與 GitLab 自我管理儲存庫的連線，請在建立主機時使用管理員個人存取字符。後續的連線建立會使用客戶的帳戶存取 Oauth。

下列範例會設定與 GitLab 自我管理儲存庫的連線：

1. 設定管理員使用者的個人存取字符的存取權。

   若要在 GitLab 自我管理儲存庫中設定 PAT，請參閱 *GitLab 文件*中的[個人存取字符](https://docs.gitlab.com/user/profile/personal_access_tokens/)。

1. 建立主機

   1. 導覽至 **CodePipeline>Settings>Connections**。

   1. 選擇**主機**索引標籤，然後選擇**建立主機**。

   1. 設定下列欄位：
      + 輸入主機名稱
      + 針對提供者類型，選擇 **GitLab 自我管理**
      + 輸入**主機 URL** 
      + 如果在 VPC 中定義主機，請輸入 VPC 資訊

   1. 選擇**建立主機**，以建立處於待定狀態的主機。

   1. 若要完成設定，請選擇**設定主機**。

   1. 輸入管理員使用者的個人存取字符 (PAT)，然後選擇**繼續**。

1. 建立連線

   1. 在**連線索引標籤上選擇建立****連線**。

   1. 針對提供者類型，選取 **GitLab 自我管理**。

   1. 在**連線設定＞輸入連線名稱**下，輸入您先前建立的主機 URL。

   1. 如果您的 GitLab 自我管理執行個體只能透過 VPC 存取，請設定 VPC 詳細資訊。

   1. 選擇**更新待定連線**。模態視窗會將您重新導向至 GitLab 登入頁面。

   1. 輸入客戶帳戶的使用者名稱和密碼，並完成授權程序。

   1.  第一次設定時，請選擇**授權 Gitlab 自我管理的 AWS 連接器**。

## 與外部程式碼儲存庫相關的配額
<a name="workflows-git-quotas"></a>

對於 HealthOmics 與外部程式碼儲存庫的整合，儲存庫、每個儲存庫檔案和每個 README 檔案的大小上限。如需詳細資訊，請參閱[HealthOmics 工作流程固定大小配額](fixed-quotas.md#fixed-quotas-workflows)。

## 所需的 IAM 許可
<a name="workflows-git-permissions"></a>

將下列動作新增至身分型 IAM 政策：

```
   "codeconnections:CreateConnection",
   "codeconnections:GetConnection",
   "codeconnections:GetHost",
   "codeconnections:ListConnections",
   "codeconnections:UseConnection"
```