GitLab.com 連線 - AWS CodePipeline

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

GitLab.com 連線

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

注意

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

若要在 中新增 GitLab.com 來源動作 CodePipeline,您可以選擇:

注意

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

注意

透過在 GitLab.com 中授權此連線安裝,您即授予我們的服務許可,以存取您的帳戶來處理您的資料,而且您可以隨時透過解除安裝應用程式來撤銷許可。

開始之前:

  • 您必須已使用 GitLab.com 建立帳戶。

    注意

    連線只能存取用於建立和授權連線之帳戶擁有的儲存庫。

    注意

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

  • 若要指定管道的來源,您必須已在 gitlab.com 上建立儲存庫。

建立與 GitLab.com 的連線 (主控台)

使用下列步驟,使用 CodePipeline 主控台為 中的專案 (儲存庫) 新增連線動作 GitLab。

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

  2. 選擇下列其中一項。

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

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

  3. 執行以下任意一項:

    • 連線 下,如果您尚未建立與提供者的連線,請選擇連線至 GitLab。繼續進行步驟 4 以建立連線。

    • 連線 下,如果您已建立與提供者的連線,請選擇連線。繼續進行步驟 9。

    注意

    如果您在建立 GitLab.com 連線之前關閉快顯視窗,則需要重新整理頁面。

  4. 若要建立與 GitLab.com 儲存庫的連線,請在選取提供者 下選擇 GitLab。在 Connection name (連線名稱) 底下,輸入您要建立的連線名稱。選擇連線至 GitLab

    主控台螢幕擷取畫面,顯示為 選取的連線選項 GitLab。
  5. 當 GitLab.com 的登入頁面顯示時,請使用您的憑證登入,然後選擇登入

  6. 如果這是您第一次授權連線,則會顯示授權頁面,其中包含請求連線授權以存取 GitLab.com 帳戶的訊息。

    選擇 Authorize (授權)。

    顯示訊息的螢幕擷取畫面,以授權 GitLab.com 帳戶的連線。
  7. 瀏覽器會返回連線主控台頁面。在建立 GitLab 連線 下,新的連線會顯示在連線名稱 中。

  8. 選擇連線至 GitLab

    您將返回 CodePipeline 主控台。

    注意

    成功建立 GitLab.com 連線後,主視窗中會顯示成功橫幅。

    如果您先前尚未在目前的機器 GitLab 上登入 ,則需要手動關閉快顯視窗。

  9. 儲存庫名稱 中,使用命名空間指定專案路徑 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/使用者/命名空間/

    注意

    對於 中的群組 GitLab,您必須使用命名空間手動指定專案路徑。例如,針對群組 myrepo中名為 的儲存庫mygroup,輸入下列內容:mygroup/myrepo。您可以在 URL的 中找到具有命名空間的專案路徑 GitLab。

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

  11. Branch name (分支名稱) 中,選擇您要讓管道偵測來源變更的分支。

    注意

    如果分支名稱未自動填入,則您沒有儲存庫的擁有者存取權。專案名稱無效,或所使用的連線無法存取專案/儲存庫。

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

  13. 選擇儲存來源動作並繼續。

建立 GitLab.com 的連線 (CLI)

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

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

重要

根據預設,透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 PENDING 狀態。建立與 CLI或 的連線後 AWS CloudFormation,請使用 主控台編輯連線,使其成為狀態 AVAILABLE

建立連線
  1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行create-connection命令,--connection-name為連線指定 --provider-type和 。在此範例中,第三方供應商名稱為 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" }
  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" ] } } ] } } ]