用于 GitLab 自我管理的连接 - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

用于 GitLab 自我管理的连接

Connections 允许您授权和建立将您的第三方提供商与您的 Amazon 资源关联的配置。要将您的第三方存储库关联为管道的源,您应使用连接。

注意

连接 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

要在中添加 GitLab 自我管理的源操作 CodePipeline,您可以选择以下任一选项:

注意

您也可以使用开发人员工具控制台,在设置下创建连接。参阅创建连接

开始前的准备工作:

  • 您必须已经使用自己管理安装的 GitLab 企业版或 GitLab 社区版创建了帐户, GitLab 并且安装了企业版或社区版。有关更多信息,请参阅https://docs.gitlab.com/ee/订阅/self_managed/

    注意

    连接只为用于创建并授权连接的账户提供访问权限。

    注意

    您可以创建与拥有所有者角色的存储库的连接 GitLab,然后该连接可以与资源一起使用,例如 CodePipeline。对于群组中的仓库,您无需成为群组拥有者。

  • 您必须已经创建了仅具有以下范围缩小权限的 GitLab 个人访问令牌 (PAT):api。有关更多信息,请参阅 https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html。您必须是管理员才能创建和使用PAT。

    注意

    您的PAT用于授权主机,不会以其他方式存储或由连接使用。要设置主机,可以创建临时主机,PAT然后在设置主机后,可以删除PAT。

  • 您可以选择提前设置主机。您可以设置带或不带的主机VPC。有关VPC配置的详细信息以及有关创建主机的其他信息,请参阅创建主机

创建与 GitLab自我管理(控制台)的连接

使用这些步骤使用 CodePipeline 控制台为您的 GitLab自管理存储库添加连接操作。

注意

GitLab 自管理连接仅提供对用于创建连接的 GitLab 自我管理账户所拥有的存储库的访问权限。

开始前的准备工作:

要实现 GitLab 自我管理的主机连接,您必须完成为连接创建主机资源的步骤。请参阅管理连接主机

步骤 1:创建或编辑您的管道

创建或编辑您的管道
  1. 登录 CodePipeline 控制台。

  2. 选择以下选项之一。

    • 选择创建管道。按照创建管道 中的步骤操作,完成第一个屏幕,然后选择下一步。在来源页面的来源提供商下,选择GitLab 自我管理

    • 选择编辑现有管道。选择编辑,然后选择编辑阶段。选择添加或编辑您的源操作。在编辑操作页面的操作名称下,输入您的操作的名称。在操作提供者中,选择GitLab 自我管理

  3. 请执行以下操作之一:

    • 在 Connecti on 下,如果您尚未创建与提供商的连接,请选择 Connection 以进行 GitLab 自我管理。继续执行步骤 2:创建 GitLab 自我管理连接。

    • 连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 3:保存连接的源操作。

创建与 GitLab 自我管理的连接

选择创建连接后,将显示 “Connect t GitLab o 自我管理” 页面。

连接到 GitLab 自我管理
  1. 连接名称,输入您的连接的名称。

  2. 在中 URL,输入服务器的终端节点。

    注意

    如果提供的URL已用于为连接设置主机,则系统将提示您选择先前为该端点创建的主机资源ARN。

  3. 如果您已在 Amazon 上启动服务器VPC并希望与您的服务器建立连接VPC,请选择 Use a VPC 并填写相关信息VPC。

  4. 选择 Connect 以进行 GitLab 自我管理。创建的连接显示为待处理状态。将使用您提供的服务器信息为连接创建一个主机资源。对于主机名URL,使用。

  5. 选择更新待处理的连接

  6. 如果页面打开时显示一条重定向消息,确认您是否要继续访问该提供程序,请选择继续。输入该提供程序的授权。

  7. A 设置 host_name页面显示。在 “提供个人访问令牌” 中,仅 GitLabPAT向您提供以下限定范围的权限:。api

    注意

    只有管理员才能创建和使用PAT。

    选择继续

    控制台屏幕截图显示了新主机的 GitLab 自我管理个人访问令牌条目
  8. 连接页面显示已创建的连接处于可用状态。

步骤 3:保存您 GitLab自行管理的源代码操作

使用向导或编辑操作页面上的这些步骤,将源操作与连接信息一起保存。

完成并保存您的源操作和连接
  1. 存储库名称中,选择第三方存储库的名称。

  2. 如果您的操作是操作,则可以在 Pip elin e 触发器下添加触发器。 CodeConnections 要配置管道触发器配置并选择使用触发器进行筛选,请在中查看更多详细信息筛选代码推送或拉取请求的触发器

  3. 输出构件格式中,您必须为构件选择格式。

    • 要使用默认方法存储 GitLab 自管理操作的输出对象,请选择CodePipeline默认。该操作访问存储库中的文件,并将工件存储在管道构件存储中的ZIP文件中。

    • 要存储包含仓库URL引用的JSON文件,以便下游操作可以直接执行 Git 命令,请选择 “完全克隆”。此选项只能由 CodeBuild 下游操作使用。

  4. 在向导上选择下一步,或者在编辑操作页面上选择保存

创建主机并连接到 GitLab自行管理 () CLI

您可以使用 Amazon Command Line Interface (Amazon CLI) 来创建连接。

为此,请使用 create-connection 命令。

重要

默认情况下,通过 Amazon CLI 或创建的连接 Amazon CloudFormation 处于PENDING状态。使用CLI或创建连接后 Amazon CloudFormation,使用控制台编辑连接以使其处于状态AVAILABLE

您可以使用 Amazon Command Line Interface (Amazon CLI) 为已安装的连接创建主机。

您可以使用主机来表示安装第三方提供程序的基础设施的终端节点。使用完成主机创建后CLI,该主机将处于 “待处理” 状态。然后,您应设置或注册主机,使之转为可用状态。主机可用后,完成创建连接的步骤。

为此,请使用 create-host 命令。

重要

默认情况下,通过创建的主机 Amazon CLI 处于Pending状态。使用创建主机后CLI,使用控制台或CLI将主机设置为其状态Available

要创建主机
  1. 打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。 Amazon CLI 使用运行create-host命令,--provider-endpoint为您的连接指定--name--provider-type、和。在此示例中,第三方提供程序名称为 GitLabSelfManaged,终端节点为 my-instance.dev

    aws codestar-connections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"

    如果成功,此命令将返回主机的 Amazon 资源名称 (ARN) 信息,如下所示。

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    完成此步骤后,主机处于 PENDING 状态。

  2. 使用控制台完成主机设置并将主机变为 Available 状态。

创建与 GitLab 自我管理的连接
  1. 打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。 Amazon CLI 使用运行create-connection命令,--connection-name为您的连接指定--host-arn和。

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection

    如果成功,此命令将返回类似于以下内容的连接ARN信息。

    { "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad" }
  2. 使用控制台设置待处理的连接。

  3. 管道默认会在向连接源存储库推送代码时检测更改。要配置手动发布或 Git 标签管道触发器配置,请执行以下操作之一:

    • 要将管道触发器配置为仅通过手动发布启动,请在配置中添加以下行:

      "DetectChanges": "false",
    • 要将管道触发器配置配置配置为使用触发器进行筛选,请在中查看更多详细信息筛选代码推送或拉取请求的触发器。例如,以下内容添加到管道JSON定义的管道级别。在此示例中,release-v0release-v1 是要包含的 Git 标签,release-v2 是要排除的 Git 标签。

      "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]