本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的操作
支持连接的源操作 AWS CodeConnections。 CodeConnections 允许您创建和管理 AWS 资源与第三方存储库(例如)之间的连接 GitHub。在第三方源代码存储库上进行新提交时启动管道。当手动执行管道或从源提供程序发送 Webhook 事件时,源操作会检索代码更改。
您可以将管道中的操作配置为使用 Git 配置,该配置允许您使用触发器启动管道。要将管道触发器配置配置配置为使用触发器进行筛选,请在中查看更多详细信息筛选代码推送或拉取请求的触发器。
注意
此功能不适用于亚太地区(香港)、亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(墨尔本)、亚太地区(大阪)、非洲(开普敦)、中东(巴林)、中东(UAE)、欧洲(西班牙)、欧洲(苏黎世)、以色列(特拉维夫)或 AWS GovCloud (美国西部)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline。有关在欧洲地区(米兰)区域使用此操作的注意事项,请参阅CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的操作中的说明。
Connections 可以将您的 AWS 资源与以下第三方存储库相关联:
-
Bitbucket Cloud(通过 CodePipeline 控制台中的 Bitbuck et 提供商选项或中的
Bitbucket
提供商)CLI注意
您可以创建到 Bitbucket Cloud 存储库的连接。不支持已安装的 Bitbucket 提供程序类型(如 Bitbucket 服务器)。
-
注意
如果您使用的是 Bitbucket 工作区,则必须具有管理员访问权限才能创建连接。
-
GitHub 和 GitHub 企业云(通过 CodePipeline 控制台中的 GitHub (版本 2)提供商选项或中的
GitHub
提供商CLI)注意
如果您的仓库位于 GitHub 组织中,则必须是组织所有者才能创建连接。如果使用不位于组织中的存储库,则您必须是存储库拥有者。
-
GitHub 企业服务器(通过 CodePipeline 控制台中的GitHub 企业服务器提供程序选项或中的
GitHub Enterprise Server
提供程序CLI) -
GitLab.com(通过 CodePipeline控制台中的GitLab提供者选项或中的
GitLab
提供商CLI)注意
您可以创建与拥有所有者角色的存储库的连接 GitLab,然后可以将该连接与包含诸如之类的资源的存储库一起使用 CodePipeline。对于群组中的仓库,您无需成为群组拥有者。
-
自行管理安装 GitLab (企业版或社区版)(通过 CodePipeline控制台中的GitLab 自我管理提供商选项或中的
GitLabSelfManaged
提供商)CLI
注意
每个连接都支持您在该提供方处拥有的所有存储库。您只需为每个提供方类型创建一个新连接。
借助连接,您的管道可以通过第三方提供商的安装应用来检测源更改。例如,webhook 用于订阅 GitHub 事件类型,并且可以安装在组织、存储库或 GitHub 应用程序上。您的连接会在您的 GitHub 应用程序上安装一个订阅 GitHub 推送类型事件的存储库 webhook。
检测到代码更改后,您可以使用以下选项将代码传递给后续操作:
-
默认:与其他现有 CodePipeline 源代码操作一样,
CodeStarSourceConnection
可以输出包含提交浅表副本的ZIP文件。 -
完全克隆:
CodeStarSourceConnection
也可以配置为输出对存储库的URL引用,以供后续操作使用。目前,Git URL 引用只能由下游 CodeBuild 操作用于克隆存储库和关联的 Git 元数据。尝试将 Git URL 引用传递给非CodeBuild 操作会导致错误。
CodePipeline 创建 AWS 连接时,会提示您将 Connector 安装应用程序添加到您的第三方帐户。您必须事先创建自己的第三方账户和存储库,然后才能通过 CodeStarSourceConnection
操作进行连接。
注意
要为您的角色创建或附加一项包含使用 AWS CodeStar 连接所需权限的策略,请参阅连接权限参考。根据您的 CodePipeline 服务角色的创建时间,您可能需要更新其权限以支持 AWS CodeStar 连接。有关说明,请参阅 向 CodePipeline 服务角色添加权限。
注意
要在欧洲(米兰)使用连接 AWS 区域,您必须:
-
安装区域特定的应用程序
-
启用该区域
这一特定于区域的应用程序支持欧洲地区(米兰)区域中的连接。该应用程序在第三方提供商网站上发布,与支持其他区域的连接的现有应用程序是分开的。安装此应用程序,即表示您授权第三方提供商仅与该区域的服务共享您的数据,并且您可以随时通过卸载该应用程序来撤消权限。
除非您启用区域,否则该服务不会处理或存储您的数据。启用此区域,即表示您授予我们的服务处理和存储您的数据的权限。
即使未启用该区域,如果区域特定的应用程序仍保持安装状态,第三方提供商也仍可以与我们的服务共享您的数据,因此,请务必在禁用该区域后立即卸载该应用程序。有关更多信息,请参阅启用区域。
操作类型
-
类别:
Source
-
拥有者:
AWS
-
提供方:
CodeStarSourceConnection
-
版本:
1
配置参数
- ConnectionArn
-
必需:是
为源提供商配置并经过身份验证的连接ARN。
- FullRepositoryId
-
必需:是
要在其中检测源更改的存储库的拥有者和名称。
例如:
some-user/my-repo
重要
您必须保持该FullRepositoryId值的正确大小写。例如,如果您的用户名为
some-user
,存储库名称为My-Repo
,则建议的FullRepositoryId值为。some-user/My-Repo
- BranchName
-
必需:是
要在其中检测源更改的分支的名称。
- OutputArtifactFormat
-
必需:否
指定输出构件格式。可以是
CODEBUILD_CLONE_REF
或CODE_ZIP
。如果未指定,则默认为CODE_ZIP
。重要
该
CODEBUILD_CLONE_REF
选项只能由 CodeBuild下游操作使用。如果选择此选项,则需要更新 CodeBuild 项目服务角色的权限,如所示添加连接 Bitbucket、 GitHub、En GitHub terprise Server 或 GitLab .com 的 CodeBuild GitClone 权限。如需查看教程以了解如何使用完整克隆选项,请参阅教程:使用带有 GitHub 管道源的完整克隆。
- DetectChanges
-
必需:否
指在所配置的存储库和分支上进行新提交时,会自动启动管道的控制设置。如果未指定,则默认值为
true
,并且默认情况下不显示该字段。此参数的有效值:-
true
: 在新提交时 CodePipeline 自动启动您的管道。 -
false
: CodePipeline 不会在新提交时启动您的管道。
-
输入构件
-
构件数:
0
-
描述:输入构件不适用于此操作类型。
输出构件
-
构件数:
1
-
描述:从存储库生成的构件是
CodeStarSourceConnection
操作的输出构件。源代码提交 ID 显示 CodePipeline 为触发管道执行的源修订版。您可以在以下文件中配置此操作的输出构件:-
一个ZIP文件,其中包含已配置的存储库和提交时分支的内容,指定为管道执行的源修订版。
-
包含对仓库的URL引用的JSON文件,以便下游操作可以直接执行 Git 命令。
重要
此选项只能由 CodeBuild 下游操作使用。
如果选择此选项,则需要更新 CodeBuild 项目服务角色的权限,如所示故障排除 CodePipeline。如需查看教程以了解如何使用完整克隆选项,请参阅教程:使用带有 GitHub 管道源的完整克隆。
-
输出变量
配置后,此操作会生成变量,该变量可由管道中下游操作的操作配置引用。此操作生成的变量可视为输出变量,即使操作没有命名空间也是如此。您可以使用命名空间配置操作,以使这些变量可用于下游操作的配置。
有关更多信息,请参阅 变量参考。
- AuthorDate
-
授权提交的日期,采用时间戳格式。
- BranchName
-
进行源更改的 存储库的分支名称。
- CommitId
-
触发管道执行的 提交 ID。
- CommitMessage
-
与触发管道执行的提交相关联的描述消息(如果有)。
- ConnectionArn
-
为源提供商配置并经过身份验证的连接ARN。
- FullRepositoryName
-
发出创建触发管道的提交的 存储库名称。
操作声明
在以下示例中,与连接的输出对象设置CODE_ZIP
为默认ZIP格式ARNarn:aws:codestar-connections:region:
。account-id
:connection/connection-id
安装安装应用并创建连接
首次使用控制台向第三方存储库添加新连接时,必须授予对存储库的 CodePipeline 访问权限。您选择或创建一个安装应用程序,以帮助您连接到创建第三方代码存储库的账户。
使用 AWS CLI 或 AWS CloudFormation 模板时,必须提供已通过安装握手ARN的连接的连接。否则,不会触发管道。
注意
对于 CodeStarSourceConnection
源操作,您不必设置 Webhook 或默认进行轮询。连接操作会为您管理更改检测。
另请参阅
下列相关资源在您使用此操作的过程中会有所帮助。
-
AWS::CodeStarConnections: Connection — Connect AWS CodeStar ions 资源的 AWS CloudFormation 模板参考提供了 AWS CloudFormation 模板中连接的参数和示例。
-
AWS CodeStar连接API参考-《AWS CodeStar 连接API参考》提供可用连接操作的参考信息。
-
要查看使用连接支持的源操作来创建管道的步骤,请参阅以下内容:
-
对于 Bitbucket Cloud,请使用控制台中的 Bitbucket 选项或中的
CodestarSourceConnection
操作。CLI请参阅 Bitbucket Cloud 连接。 -
对于 GitHub 和 GitHub 企业云,请使用控制台中的GitHub提供者选项或中的
CodestarSourceConnection
操作CLI。请参阅 GitHub 连接。 -
对于 GitHub 企业服务器,请使用控制台中的GitHub 企业服务器提供程序选项或中的
CodestarSourceConnection
操作CLI。请参阅 GitHub 企业服务器连接。 -
对于 GitLab .com,请使用控制台中的GitLab提供者选项或使用带有
GitLab
提供商的CodestarSourceConnection
操作CLI。请参阅 GitLab.com 连接。
-
-
要查看使用 Bitbucket 源和 CodeBuild 操作创建管道的入门教程,请参阅连接入门。
-
有关向您展示如何连接到 GitHub 存储库以及如何使用带有下游 CodeBuild 操作的 “完全克隆” 选项的教程,请参阅教程:使用带有 GitHub 管道源的完整克隆。