本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitLab.com 連線
連線可讓您授權和建立將第三方供應商與 AWS 資源建立關聯的組態。若要將第三方儲存庫關聯為管道的來源,請使用連線。
注意
此功能不適用於亞太區域 (香港)、亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、非洲 (開普敦)、中東 (巴林)、中東 (UAE)、歐洲 (西班牙)、歐洲 (蘇黎世)、以色列 (特拉維夫) 或 AWS GovCloud (美國西部) 區域。若要參考其他可用的動作,請參閱 與 的產品和服務整合 CodePipeline。如需歐洲 (米蘭) 區域中此動作的考量事項,請參閱中的備註CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作。
若要在 中新增 GitLab.com 來源動作 CodePipeline,您可以選擇:
-
使用 CodePipeline 主控台建立管道精靈或編輯動作頁面來選擇GitLab提供者選項。請參閱 建立與 GitLab.com 的連線 (主控台) 以新增動作。主控台可協助您建立連線資源。
-
使用 CLI向
GitLab
提供者新增CreateSourceConnection
動作的動作組態,如下所示:-
若要建立連線資源,請參閱建立 GitLab.com 的連線 (CLI)使用 建立連線資源CLI。
-
使用 中的動作組態
CreateSourceConnection
範例CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作來新增動作,如 所示建立管道 (CLI)。
-
注意
您也可以使用設定 下的開發人員工具主控台建立連線。請參閱建立連線 。
注意
透過在 GitLab.com 中授權此連線安裝,您即授予我們的服務許可,以存取您的帳戶來處理您的資料,而且您可以隨時透過解除安裝應用程式來撤銷許可。
開始之前:
-
您必須已使用 GitLab.com 建立帳戶。
注意
連線只能存取用於建立和授權連線之帳戶擁有的儲存庫。
注意
您可以建立與儲存庫的連線,其中您在 中具有擁有者角色 GitLab,然後該連線可以與儲存庫搭配使用,並搭配 資源,例如 CodePipeline。如果是群組中的儲存庫,您不需要為群組擁有者。
-
若要指定管道的來源,您必須已在 gitlab.com 上建立儲存庫。
建立與 GitLab.com 的連線 (主控台)
使用下列步驟,使用 CodePipeline 主控台為 中的專案 (儲存庫) 新增連線動作 GitLab。
建立或編輯管道
-
登入 CodePipeline 主控台。
-
選擇下列其中一項。
-
選擇建立管道。依照建立管道中的步驟完成第一個畫面,然後選擇下一步。在來源頁面的來源提供者 下,選擇 GitLab。
-
選擇編輯現有的管道。選擇編輯 ,然後選擇編輯階段 。選擇新增或編輯來源動作。在編輯動作頁面的動作名稱 下,輸入動作的名稱。在動作提供者 中,選擇 GitLab。
-
-
執行以下任意一項:
-
在連線 下,如果您尚未建立與提供者的連線,請選擇連線至 GitLab。繼續進行步驟 4 以建立連線。
-
在連線 下,如果您已建立與提供者的連線,請選擇連線。繼續進行步驟 9。
注意
如果您在建立 GitLab.com 連線之前關閉快顯視窗,則需要重新整理頁面。
-
-
若要建立與 GitLab.com 儲存庫的連線,請在選取提供者 下選擇 GitLab。在 Connection name (連線名稱) 底下,輸入您要建立的連線名稱。選擇連線至 GitLab。
-
當 GitLab.com 的登入頁面顯示時,請使用您的憑證登入,然後選擇登入 。
-
如果這是您第一次授權連線,則會顯示授權頁面,其中包含請求連線授權以存取 GitLab.com 帳戶的訊息。
選擇 Authorize (授權)。
-
瀏覽器會返回連線主控台頁面。在建立 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/使用者/命名空間/。 注意
對於 中的群組 GitLab,您必須使用命名空間手動指定專案路徑。例如,針對群組
myrepo
中名為 的儲存庫mygroup
,輸入下列內容:mygroup/myrepo
。您可以在 URL的 中找到具有命名空間的專案路徑 GitLab。 -
如果您的動作是 CodeConnections 動作,您可以在管道觸發條件下新增觸發條件。若要設定管道觸發條件組態,以及選擇性地使用觸發條件進行篩選,請參閱 中的更多詳細資訊程式碼推送或提取請求時篩選觸發條件。
-
在 Branch name (分支名稱) 中,選擇您要讓管道偵測來源變更的分支。
注意
如果分支名稱未自動填入,則您沒有儲存庫的擁有者存取權。專案名稱無效,或所使用的連線無法存取專案/儲存庫。
-
在 Output artifact format (輸出成品格式) 中,您必須選擇成品的格式。
-
若要使用預設方法儲存來自 GitLab.com 動作的輸出成品,請選擇CodePipeline 預設 。動作會從 GitLab.com 儲存庫存取檔案,並將成品存放在管道成品存放區中的ZIP檔案中。
-
若要儲存包含儲存庫URL參考JSON的檔案,以便下游動作可以直接執行 Git 命令,請選擇完整複製 。此選項只能由 CodeBuild 下游動作使用。
如果您選擇此選項,您將需要更新 CodeBuild 專案服務角色的許可,如 所示新增 Bitbucket、 GitHub GitHub Enterprise 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命令,
--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" } -
使用主控台完成連線。如需詳細資訊,請參閱更新待定連線 。
-
管道預設為偵測將程式碼推送至連線來源儲存庫時的變更。若要設定手動發行或 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" ] } } ] } } ]
-