

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# HealthOmics 与基于 Git 的存储库的工作流程集成
<a name="workflows-git-integration"></a>

创建工作流（或工作流程版本）时，需要提供工作流定义以指定有关工作流、运行和任务的信息。 HealthOmics 可以将工作流程定义检索为.zip 档案（存储在本地或 Amazon S3 存储桶中），也可以从支持的基于 Git 的存储库中检索。

与基于 Git 的存储库的 HealthOmics 集成支持以下功能：
+ 直接从公共、私有和自行管理的实例创建工作流程。
+ 集成存储库中的工作流程自述文件和参数模板。
+ 支持 GitHub GitLab、和 Bitbucket 存储库。

通过使用基于 Git 的存储库，您可以避免手动步骤，例如下载工作流程定义文件和输入参数模板文件、创建.zip 存档，然后将存档暂存到 S3。这简化了以下示例等场景的工作流程创建：

1. 您想使用常见的开源工作流程（例如 nf-core）快速入门。 HealthOmics自动从 nf-core 存储库中检索所有工作流程定义和输入参数模板文件， GitHub 并使用这些文件创建新的工作流程。

1. 您正在使用来自的公共工作流程 GitHub，并且有一些新的更新可用。您可以使用更新的 HealthOmics 工作流程定义 GitHub 作为源来轻松创建新的工作流程版本。您的工作流程的用户可以在原始工作流程或您创建的新工作流程版本之间进行选择。

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 将您的工作流程连接到基于 Git 的存储库。 CodeConnection HealthOmics 使用此连接访问您的源代码存储库。

**注意**  
AWS CodeConnections 服务不在 il-central-1 区域提供。对于此区域，请将服务 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>设置>连接**。

   1. 选择 “**主机**” 选项卡，然后选择 “**创建主机**”。

   1. 配置以下字段：
      + 输入主机的名称
      + 对于提供商类型，请选择**GitLab 自我管理**
      + 输入**主机 URL** 
      + 如果主机是在 VPC 中定义的，请输入 VPC 信息

   1. 选择**创建主机**，这将创建处于 PENDING 状态的主机。

   1. 要完成设置，请选择**设置主机**。

   1. 输入管理员用户的个人访问令牌 (PAT)，然后选择**继续**。

1. 创建连接

   1. 在 “**连接” 选项卡上选择 “创建****连接**”。

   1. 对于提供商类型，请选择**GitLab 自我管理**。

   1. 在 “**连接设置” > “输入连接名称**” 下，输入您之前创建的主机 URL。

   1. 如果您的 GitLab 自管理实例只能通过 VPC 访问，请配置 VPC 详细信息。

   1. 选择 “**更新待处理的连接**”。模态窗口将您重定向到 GitLab 登录页面。

   1. 输入客户账户的用户名和密码并完成授权过程。

   1.  首次设置时，请选择 “**授权 AWS Connector 用于 Gitlab 自助管理**”。

## 与外部代码存储库相关的配额
<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"
```