本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitLab.com 連線
連線可讓您授權並建立將第三方供應商與 AWS 資源相關聯的組態。若要將您的第三方存放庫與管道的來源相關聯,請使用連線。
注意
亞太區域 (香港)、亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、非洲 (開普敦)、中東 (巴林)、中東 (阿聯酋)、歐洲 (西班牙)、歐洲 (蘇黎世)、以色列 (特拉維夫) 或 AWS GovCloud (美國西部) 區域不提供此功能。若要參考其他可用動作,請參閱產品與服務整合 CodePipeline。如需在歐洲 (米蘭) 區域進行此動作的考量,請參閱中的附註CodeStarSourceConnection 適用於 Bitbucket 雲端 GitHub、 GitHub 企業伺服器、 GitLab .com 和 GitLab 自我管理動作。
若要在中新增 GitLab .com 來源動作 CodePipeline,您可以選擇:
-
使用 CodePipeline 主控台「建立管線精靈」或 「編輯」動作頁面來選擇GitLab提供者選項。請參建立與 GitLab .com(主控台)的連線閱以新增動作。主控台可協助您建立連線資源。
-
使用 CLI 為
GitLab
提供者的動作新增CreateSourceConnection
動作組態,如下所示:-
若要建立連線資源,請參建立與 GitLab .com (CLI) 的連線閱使用 CLI 建立連線資源。
-
使用中的
CreateSourceConnection
範例動作配置CodeStarSourceConnection 適用於 Bitbucket 雲端 GitHub、 GitHub 企業伺服器、 GitLab .com 和 GitLab 自我管理動作來新增您的動作,如中所示建立管線 (CLI)。
-
注意
您也可以使用「設定」下的「開發人員工具」主控台建立連線。請參閱建立連線。
注意
通過在 GitLab .com 中授權此連接安裝,您授予我們的服務許可以通過訪問您的帳戶來處理您的數據,並且可以通過卸載應用程序隨時撤消許可。
開始之前:
-
您必須已經在 GitLab .com 創建了一個帳戶。
注意
連線只能存取用於建立和授權連線之帳戶擁有的儲存庫。
注意
您可以建立與具有 Owner 角色之儲存庫的連線 GitLab,然後連線可與具有諸如此類資源的存放庫一起使用 CodePipeline。如果是群組中的儲存庫,您不需要為群組擁有者。
-
要為管道指定源,您必須已經在 gitlab.com 上創建了一個存儲庫。
建立與 GitLab .com(主控台)的連線
使用下列步驟可使用 CodePipeline 主控台在中為您的專案 (存放庫) 新增連線動作 GitLab。
若要建立或編輯管線
-
登入 CodePipeline 主控台。
-
選擇下列其中一項。
-
選擇建立配管。按照「建立管道」中的步驟完成第一個畫面,然後選擇「下一步」。在 [來源] 頁面的 [來源提供者] 下,選擇GitLab。
-
選擇編輯現有配管。選擇 [編輯],然後選擇 [編輯階段]。選擇新增或編輯來源動作。在 [編輯動作] 頁面上的 [動作名稱] 下,輸入動作的名稱。在 [動作提供者] 中,選擇GitLab。
-
-
執行以下任意一項:
-
在 [連線] 下方,如果您尚未建立與提供者的連線,請選擇 [Connect 線至] GitLab。繼續執行步驟 4 以建立連線。
-
在 [連線] 下方,如果您已建立與提供者的連線,請選擇連線。繼續執行步驟 9。
注意
如果您在創建 GitLab .com 連接之前關閉彈出窗口,則需要刷新頁面。
-
-
若要建立 GitLab .com 存放庫的連線,請在 [選取提供者] 下選擇GitLab。在 Connection name (連線名稱) 底下,輸入您要建立的連線名稱。選擇「Connect 至」 GitLab。
-
顯示 GitLab .com 的登入頁面時,使用您的認證登入,然後選擇 [登入]。
-
如果這是您第一次授權連線,則會顯示授權頁面,其中會顯示一則訊息,要求授權連線存取您的 GitLab .com 帳戶。
選擇 Authorize (授權)。
-
瀏覽器會返回連線主控台頁面。在「建立 GitLab 連線」下,新的連線會顯示在「連線名稱」中。
-
選擇「Connect 至」 GitLab。
您將返回 CodePipeline 控制台。
注意
成功建立 GitLab .com 連線後,主視窗會顯示成功橫幅。
如果您之前尚未在目前的電腦 GitLab 上登入,則需要手動關閉快顯視窗。
-
在「存放庫名稱」中,透過使用命名空間指 GitLab 定專案路徑來選擇中的專案名稱。例如,對於群組層級存放庫,請以下列格式輸入存放庫名稱:
group-name/repository-name
如需有關路徑和命名空間的詳細資訊,請參閱 https://docs.gitlab.com/ee/api/projects.html #中的欄 path_with_namespace
位get-single-project。如需有關中命名空間的詳細資訊 GitLab,請參閱 https://docs.gitlab.com/ee/user/namespace/。 注意
對於中的群組 GitLab,您必須使用命名空間手動指定專案路徑。例如,對於群組
myrepo
中名為的存放庫mygroup
,請輸入以下內容:mygroup/myrepo
您可以在中的 URL 中找到具有命名空間的專案路徑 GitLab。 -
如果您的動作是動作,您可以在管線觸發器下新增觸發 CodeConnections 器。若要設定管線觸發器組態並選擇性地使用觸發程式進行篩選,請參閱中的詳細資訊篩選程式碼推送或提取要求的觸發程序。
-
在 Branch name (分支名稱) 中,選擇您要讓管道偵測來源變更的分支。
注意
如果分支名稱未自動填入,則您沒有存放庫的 Owner 存取權。項目名稱無效,或者使用的連接無法訪問項目/存儲庫。
-
在 Output artifact format (輸出成品格式) 中,您必須選擇成品的格式。
-
若要使用預設方法儲存來自 GitLab .com 動作的輸出成品,請選擇「CodePipeline 預設」。此動作會存取 GitLab .com 存放庫中的檔案,並將成品儲存在管線人工因素存放區中的 ZIP 檔案中。
-
若要存放包含儲存庫 URL 參考的 JSON 檔案,以便下游動作可以直接執行 Git 命令,請選擇 Full clone (完整複製)。此選項只能由 CodeBuild 下游動作使用。
如果您選擇此選項,則需要更新 CodeBuild 專案服務角色的權限,如中所示新增連線至 Bitbucket GitHub、 GitHub 企業伺服器或 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" ] } } ] } } ]
-