GitLab 自我管理的連線 - AWS CodePipeline

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

GitLab 自我管理的連線

連線可讓您授權並建立將第三方供應商與 AWS 資源相關聯的組態。若要將第三方存放庫與管道的來源相關聯,請使用連線。

注意

亞太區域 (香港)、亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、非洲 (開普敦)、中東 (巴林)、中東 (阿聯酋)、歐洲 (西班牙)、歐洲 (蘇黎世)、以色列 (特拉維夫) 或 AWS GovCloud (美國西部) 區域不提供此功能。若要參考其他可用動作,請參閱產品與服務整合 CodePipeline。如需在歐洲 (米蘭) 區域進行此動作的考量,請參閱中的附註CodeStarSourceConnection 適用於 Bitbucket 雲端 GitHub、 GitHub 企業伺服器、 GitLab .com 和 GitLab 自我管理動作

若要在中新增 GitLab 自我管理的來源動作 CodePipeline,您可以選擇:

注意

您也可以使用「定」下的「開發人員工具」主控台建立連線。請參閱建立連線

開始之前:

  • 您必須已經建立了具 GitLab 有自我管理安裝的 GitLab 企業版或 GitLab 社群版的帳戶。如需詳細資訊,請參閱 https://docs.gitlab.com/ee/subscriptions/self_managed/

    注意

    連線只能存取用於建立和授權連線之帳戶。

    注意

    您可以建立與具有 Owner 角色的存放庫的連線 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. 執行以下任意一項:

    • 在 [連線] 下方,如果您尚未建立與提供者的連線,請選擇 [Connect 線到 GitLab 自我管理]。繼續執行步驟 2:建立與 GitLab 自我管理的連線。

    • 在 [連線] 下方,如果您已建立與提供者的連線,請選擇連線。繼續執行步驟 3:儲存連線的來源動作。

建立與 GitLab 自我管理的連線

選擇建立連線後,會顯示 [連線至 GitLab自我管理] 頁面。

連接到 GitLab 自我管理
  1. 針對 Connection name (連線名稱),請輸入連線的名稱。

  2. URL 中,輸入伺服器的端點。

    注意

    如果提供的 URL 已用於設定連線的主機,系統會提示您選擇先前為該端點建立的主機資源 ARN。

  3. 如果您已將伺服器啟動到 Amazon VPC,並且想要與 VPC 連線,請選擇「使用 VPC」並完成 VPC 的資訊。

  4. 選擇「Connect 至 GitLab 自我管理」。建立的連線會顯示 Pending (待定) 狀態。系統會利用您提供的伺服器資訊為連線建立主機資源。主機名稱會使用 URL。

  5. 選擇 Update pending connection (更新待定連線)

  6. 如果頁面開啟時顯示重新導向訊息,確認您要繼續前往提供者,請選擇「繼續」。輸入提供者的授權。

  7. 將顯示設定 host_name 頁面。在 [提供個人存取權杖] 中,僅向您的 GitLab PAT 提供下列縮減權限:api

    注意

    只有管理員可以建立和使用 PAT。

    選擇繼續

    主控台螢幕擷取畫面顯示新主機的 GitLab 自我管理個人存取權杖項目
  8. 連線頁面會顯示建立的連線處於 Available (可用) 狀態。

步驟 3:儲存您的 GitLab自我管理來源動作

使用精靈或 「編輯」動作頁面上的這些步驟,將來源動作與連線資訊一起儲存。

透過連線完成並儲存來源動作
  1. Repository name (儲存庫名稱) 中,選擇第三方儲存庫的名稱。

  2. 如果您的動作是動作,您可以在管線觸發器下新增觸發 CodeConnections 器。若要設定管線觸發器組態並選擇性地使用觸發程式進行篩選,請參閱中的詳細資訊篩選程式碼推送或提取要求的觸發程序

  3. Output artifact format (輸出成品格式) 中,您必須選擇成品的格式。

    • 若要使用預設方法儲存來 GitLab 自自我管理動作的輸出成品,請選擇 CodePipelinedefault。此動作會從存放庫存取檔案,並將人工因素儲存在管線人工因素存放區中的 ZIP 檔案中。

    • 若要存放包含儲存庫 URL 參考的 JSON 檔案,以便下游動作可以直接執行 Git 命令,請選擇 Full clone (完整複製)。此選項只能由 CodeBuild 下游動作使用。

  4. 在精靈中選擇 [下一步],或在 [編輯動作] 頁面上選擇 [

建立主機和與 GitLab自我管理 (CLI) 的連線

您可以使用 AWS Command Line Interface (AWS CLI) 建立連線。

若要這麼做,請使用 create-connection 命令。

重要

依預設,透過 AWS CLI 或建立 AWS CloudFormation 的連線處於PENDING狀態。建立與 CLI 的連線之後 AWS CloudFormation,或使用主控台編輯連線以顯示其狀態AVAILABLE

您可以使用 AWS Command Line Interface (AWS CLI) 為已安裝的連線建立主機。

您可以使用主機來代表安裝第三方供應商的基礎設施之端點。使用 CLI 完成主機建立後,主機處於 [擱置中] 狀態。然後,您可以設定或註冊主機,將其移至「可用」狀態。主機變為可用後,便可完成建立連線的步驟。

若要這麼做,請使用 create-host 命令。

重要

依預設,透過建立 AWS CLI 的主機處於Pending狀態。使用 CLI 建立主機後,請使用主控台或 CLI 設定主機以顯示其狀態Available

建立主機
  1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 來執行指create-host令,--provider-endpoint為您的連線指定--provider-type、和。--name在此範例中,第三方供應商名稱為 GitLabSelfManaged,而端點為 my-instance.dev

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

    如果成功,此命令會傳回類似下列內容的主機 Amazon Resource Name (ARN) 資訊。

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

    完成此步驟後,主機會處於 PENDING 狀態。

  2. 使用主控台完成主機設定,並將主機變為 Available 狀態。

建立與 GitLab 自我管理的連線
  1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS 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" ] } } ] } } ]