GitLab 自我管理的連線 - AWS CodePipeline

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

GitLab 自我管理的連線

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

注意

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

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

注意

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

開始之前:

  • 您必須已使用 建立 帳戶, GitLab 並擁有具有自我管理安裝的 GitLab Enterprise Edition 或 GitLab Community Edition。如需詳細資訊,請參閱 https://docs.gitlab.com/ee/subscriptions/self_managed/

    注意

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

    注意

    您可以建立與儲存庫的連線,其中您在 中具有擁有者角色 GitLab,然後該連線可與 資源搭配使用,例如 CodePipeline。如果是群組中的儲存庫,您不需要為群組擁有者。

  • 您必須已建立具有下列範圍縮減許可 GitLab 的個人存取權杖 (PAT):api。如需詳細資訊,請參閱https://docs.gitlab.com/ee/使用者/設定檔/personal_access_tokens.html。您必須是管理員才能建立和使用 PAT。

    注意

    您的 PAT 用於授權主機,不會以其他方式由連線存放或使用。若要設定主機,您可以建立臨時主機,PAT然後在設定主機之後,您可以刪除 PAT。

  • 您可以選擇提前設定主機。您可以使用 或不使用 來設定主機VPC。如需VPC組態的詳細資訊,以及建立主機的其他資訊,請參閱建立主機

建立與 GitLab自我管理的連線 (主控台)

使用這些步驟來使用 CodePipeline 主控台為自我管理儲存庫新增連線動作 GitLab。

注意

GitLab 自我管理連線僅提供存取 GitLab 自我管理帳戶所擁有的儲存庫的存取權,該儲存庫用於建立連線。

開始之前:

對於 GitLab 自我管理的主機連線,您必須完成為連線建立主機資源的步驟。請參閱管理連線 的主機

步驟 1:建立或編輯管道

建立或編輯管道
  1. 登入 CodePipeline 主控台。

  2. 選擇下列其中一項。

    • 選擇建立管道。依照建立管道中的步驟完成第一個畫面,然後選擇下一步。來源頁面的來源提供者 下,選擇GitLab 自我管理的

    • 選擇編輯現有的管道。選擇編輯 ,然後選擇編輯階段 。選擇新增或編輯來源動作。在編輯動作頁面的動作名稱 下,輸入動作的名稱。在動作提供者 中,選擇GitLab 自我管理的

  3. 執行以下任意一項:

    • 連線 下,如果您尚未建立與提供者的連線,請選擇連線至 GitLab 自我管理的 。繼續步驟 2:建立 GitLab 自我管理的連線。

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

建立與 GitLab 自我管理的連線

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

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

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

    注意

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

  3. 如果您已在 Amazon 中啟動伺服器,VPC並想要與 連線VPC,請選擇使用 VPC,然後完成 的資訊VPC。

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

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

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

  7. A 設定 host_name 頁面隨即顯示。在提供個人存取權杖 中,僅提供您的 GitLabPAT下列範圍縮減許可:api

    注意

    只有管理員才能建立和使用 PAT。

    選擇繼續

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

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

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

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

  2. 如果您的動作是 CodeConnections 動作,您可以在管道觸發條件下新增觸發條件。若要設定管道觸發條件組態,以及選擇性地使用觸發條件篩選,請參閱 中的更多詳細資訊程式碼推送或提取請求時篩選觸發條件

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

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

    • 若要儲存包含儲存庫URL參考JSON的檔案,以便下游動作可以直接執行 Git 命令,請選擇完整複製 。此選項只能由 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為您的連線指定 --name--provider-type和 。在此範例中,第三方供應商名稱為 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" ] } } ] } } ]