本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GitLab.com 连接
连接使您可以授权和建立一些配置,将您的第三方提供方与您的 AWS 资源相关联。要将您的第三方存储库关联为管道的源,您应使用连接。
注意
此功能在亚太地区(香港)、亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(大阪)、非洲(开普敦)、中东(巴林)、中东(阿联酋)、欧洲(西班牙)、欧洲(苏黎世)、以色列(特拉维夫)或 AWS GovCloud(美国西部)区域不可用。要参考其他可用操作,请参阅 产品和服务与 CodePipeline。有关在欧洲地区(米兰)区域使用此操作的注意事项,请参阅CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的操作中的说明。
要在 CodePipeline 中添加 GitLab.com 源操作,您可以选择以下任一操作:
-
使用 CodePipeline 控制台创建管道向导或编辑操作页面,选择 GitLab 提供方选项。参阅创建到 GitLab.com 的连接(控制台)以添加操作。控制台可帮助您创建连接资源。
-
使用 CLI,添加提供方为
GitLab
的CreateSourceConnection
操作的操作配置,如下所示:-
要创建连接资源,请参阅 创建到 GitLab.com 的连接(CLI),以便使用 CLI 创建连接资源。
-
使用CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的操作中的
CreateSourceConnection
示例操作配置来添加操作,如创建管道(CLI) 中所示。
-
注意
您也可以使用开发人员工具控制台,在设置下创建连接。参阅创建连接。
注意
授权在 GitLab.com 中安装此连接,即表示您向我们的服务授予相关的权限,使服务可通过访问您的账户来处理您的数据,并且您可以随时通过卸载应用程序来撤消这些权限。
开始前的准备工作:
-
您必须事先创建 GitLab.com 账户。
注意
连接只能访问用于创建并授权连接的账户所拥有的存储库。
注意
您可以创建与您在 GitLab 中具有拥有者角色的仓库的连接,然后该连接可以与包含诸如 CodePipeline 之类的资源的仓库一起使用。对于群组中的仓库,您无需成为群组拥有者。
-
要为您的管道指定一个源,必须事先在 gitlab.com 上创建存储库。
创建到 GitLab.com 的连接(控制台)
通过以下步骤,可使用 CodePipeline 控制台为 GitLab 中您的项目(存储库)添加连接操作。
创建或编辑您的管道
-
登录 CodePipeline 控制台。
-
选择以下选项之一。
-
选择创建管道。按照创建管道 中的步骤操作,完成第一个屏幕,然后选择下一步。在源页面的源提供程序下,选择 GitLab。
-
选择编辑现有管道。选择编辑,然后选择编辑阶段。选择添加或编辑您的源操作。在编辑操作页面的操作名称下,输入您的操作的名称。在操作提供程序中,选择 GitLab。
-
-
请执行以下操作之一:
-
在连接下,如果您尚未创建到提供程序的连接,请选择连接到 GitLab。继续执行步骤 4,以便创建连接。
-
在连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 9。
注意
如果您在创建 GitLab.com 连接之前关闭弹出窗口,则需要刷新页面。
-
-
要创建到 GitLab.com 存储库的连接,请在选择提供商下,选择 GitLab。在连接名称中,输入要创建的连接的名称。选择连接到 GitLab。
-
显示 GitLab.com 的登录页面时,使用您的凭证登录,然后选择登录。
-
如果这是您首次为连接授权,则会显示一个授权页面,其中包含一条消息,请求授权该连接以访问您的 GitLab.com 账户。
选择授权。
-
浏览器返回到连接控制台页面。在创建 GitLab 连接下,新的连接显示在连接名称中。
-
选择连接到 GitLab。
您将返回到 CodePipeline 控制台。
注意
成功创建 GitLab.com 连接后,主窗口中将显示成功横幅。
如果您之前没有在当前计算机上登录 GitLab,则需要手动关闭弹出窗口。
-
在存储库名称中,通过指定带命名空间的项目路径,选择 GitLab 中您的项目的名称。例如,对于组级存储库,请按以下格式输入存储库名称:
group-name/repository-name
。有关路径和命名空间的更多信息,请参阅 https://docs.gitlab.com/ee/api/projects.html#get-single-project中的 path_with_namespace
字段。有关 GitLab 中命名空间的更多信息,请参阅 https://docs.gitlab.com/ee/user/namespace/。 注意
对于 GitLab 中的组,必须手动指定带命名空间的项目路径。例如,对于组
mygroup
中名为myrepo
的存储库,请输入以下内容:mygroup/myrepo
。您可以在 GitLab 的 URL 中找到带命名空间的项目路径。 -
如果您的操作是 CodeConnections 操作,您可以在管道触发器下添加触发器。要配置管道触发器配置并选择性使用触发器进行筛选,请参阅添加带有代码推送或拉取请求事件类型的触发器中的更多详细信息。
-
在分支名称中,选择您希望管道在其中检测源更改的分支。
注意
如果未自动填充分支名称,说明您没有存储库的所有者访问权限。原因要么是项目名称无效,要么是所使用的连接无权访问项目/存储库。
-
在输出构件格式中,您必须为构件选择格式。
-
要使用默认方法存储 GitLab.com 操作的输出构件,请选择 CodePipeline 默认。操作会访问 GitLab.com 存储库中的文件,并将构件以 ZIP 文件格式存储在管道构件存储中。
-
要存储包含存储库的 URL 引用的 JSON 文件,以便下游操作可以直接执行 Git 命令,请选择完全克隆。此选项只能由 CodeBuild 下游操作使用。
如果选择此选项,则需要更新您的 CodeBuild 项目服务角色的权限,如 添加连接 Bitbucket、 GitHub、En GitHub terprise Server 或 GitLab .com 的 CodeBuild GitClone 权限所示。如需查看教程以了解如何使用完整克隆选项,请参阅教程:使用带有 GitHub 管道源的完整克隆。
-
-
选择保存源操作并继续。
创建到 GitLab.com 的连接(CLI)
您可以使用 AWS Command Line Interface(AWS CLI)创建连接。
为此,请使用 create-connection 命令。
重要
默认情况下,通过 AWS CLI 或 AWS CloudFormation 创建的连接处于 PENDING
状态。使用 CLI 或 AWS CloudFormation 创建一个连接后,可使用控制台编辑该连接以使其状态为 AVAILABLE
。
创建连接
-
打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。使用 AWS CLI 运行 create-connection 命令,并为连接指定
--provider-type
和--connection-name
。在此示例中,第三方提供方名称为GitLab
,指定的连接名称为MyConnection
。aws codestar-connections create-connection --provider-type GitLab --connection-name MyConnection
如果成功,该命令将返回类似以下内容的连接 ARN 信息。
{ "ConnectionArn": "arn:aws:codestar-connections:us-west-2:
account_id
:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f" } -
使用控制台完成连接。有关更多信息,请参阅更新挂起的连接。
-
管道默认会在向连接源存储库推送代码时检测更改。要配置手动发布或 Git 标签管道触发器配置,请执行以下操作之一:
-
要将管道触发器配置为仅通过手动发布启动,请在配置中添加以下行:
"DetectChanges": "false",
-
要配置管道触发器配置以使用触发器进行筛选,请参阅添加带有代码推送或拉取请求事件类型的触发器中的更多详细信息。例如,以下内容添加到管道 JSON 定义的管道级别。在此示例中,
release-v0
和release-v1
是要包含的 Git 标签,release-v2
是要排除的 Git 标签。"triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]
-