本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitLab 自我管理的連線
連線可讓您授權並建立將第三方供應商與 AWS 資源相關聯的組態。若要將第三方存放庫與管道的來源相關聯,請使用連線。
注意
亞太區域 (香港)、亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、非洲 (開普敦)、中東 (巴林)、中東 (阿聯酋)、歐洲 (西班牙)、歐洲 (蘇黎世)、以色列 (特拉維夫) 或 AWS GovCloud (美國西部) 區域不提供此功能。若要參考其他可用動作,請參閱產品與服務整合 CodePipeline。如需在歐洲 (米蘭) 區域進行此動作的考量,請參閱中的附註CodeStarSourceConnection 適用於 Bitbucket 雲端 GitHub、 GitHub 企業伺服器、 GitLab .com 和 GitLab 自我管理動作。
若要在中新增 GitLab 自我管理的來源動作 CodePipeline,您可以選擇:
-
使用 CodePipeline 主控台「建立管線精靈」或 「編輯」動作頁面來選擇GitLab自我管理的提供者選項。請參建立與 GitLab自我管理 (主控台) 的連線閱以新增動作。主控台可協助您建立主機資源和連線資源。
-
使用 CLI 為
GitLabSelfManaged
提供者的動作新增CreateSourceConnection
動作組態,並建立您的資源:-
若要建立連線資源,請參建立主機和與 GitLab自我管理 (CLI) 的連線閱使用 CLI 建立主機資源和連線資源。
-
使用中的
CreateSourceConnection
範例動作配置CodeStarSourceConnection 適用於 Bitbucket 雲端 GitHub、 GitHub 企業伺服器、 GitLab .com 和 GitLab 自我管理動作來新增您的動作,如中所示建立管道 (CLI)。
-
注意
您也可以使用「設定」下的「開發人員工具」主控台建立連線。請參閱建立連線。
開始之前:
-
您必須已經建立了具 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:建立或編輯管道
若要建立或編輯管線
-
登入 CodePipeline 主控台。
-
選擇下列其中一項。
-
選擇建立配管。按照「建立管道」中的步驟完成第一個畫面,然後選擇「下一步」。在 [來源] 頁面的 [來源提供者] 下,選擇 [GitLab 自我管理]。
-
選擇編輯現有配管。選擇 [編輯],然後選擇 [編輯階段]。選擇新增或編輯來源動作。在 [編輯動作] 頁面上的 [動作名稱] 下,輸入動作的名稱。在動作提供者中,選擇GitLab 自我管理。
-
-
執行以下任意一項:
-
在 [連線] 下方,如果您尚未建立與提供者的連線,請選擇 [Connect 線到 GitLab 自我管理]。繼續執行步驟 2:建立與 GitLab 自我管理的連線。
-
在 [連線] 下方,如果您已建立與提供者的連線,請選擇連線。繼續執行步驟 3:儲存連線的來源動作。
-
建立與 GitLab 自我管理的連線
選擇建立連線後,會顯示 [連線至 GitLab自我管理] 頁面。
連接到 GitLab 自我管理
-
針對 Connection name (連線名稱),請輸入連線的名稱。
-
在 URL 中,輸入伺服器的端點。
注意
如果提供的 URL 已用於設定連線的主機,系統會提示您選擇先前為該端點建立的主機資源 ARN。
-
如果您已將伺服器啟動到 Amazon VPC,並且想要與 VPC 連線,請選擇「使用 VPC」並完成 VPC 的資訊。
-
選擇「Connect 至 GitLab 自我管理」。建立的連線會顯示 Pending (待定) 狀態。系統會利用您提供的伺服器資訊為連線建立主機資源。主機名稱會使用 URL。
-
選擇 Update pending connection (更新待定連線)。
-
如果頁面開啟時顯示重新導向訊息,確認您要繼續前往提供者,請選擇「繼續」。輸入提供者的授權。
-
將顯示設定
host_name
頁面。在 [提供個人存取權杖] 中,僅向您的 GitLab PAT 提供下列縮減權限:api
注意
只有管理員可以建立和使用 PAT。
選擇繼續。
-
連線頁面會顯示建立的連線處於 Available (可用) 狀態。
步驟 3:儲存您的 GitLab自我管理來源動作
使用精靈或 「編輯」動作頁面上的這些步驟,將來源動作與連線資訊一起儲存。
透過連線完成並儲存來源動作
-
在 Repository name (儲存庫名稱) 中,選擇第三方儲存庫的名稱。
-
如果您的動作是動作,您可以在管線觸發器下新增觸發 CodeConnections 器。若要設定管線觸發器組態並選擇性地使用觸發程式進行篩選,請參閱中的詳細資訊篩選程式碼推送或提取要求的觸發程序。
-
在 Output artifact format (輸出成品格式) 中,您必須選擇成品的格式。
-
若要使用預設方法儲存來 GitLab 自自我管理動作的輸出成品,請選擇 CodePipelinedefault。此動作會從存放庫存取檔案,並將人工因素儲存在管線人工因素存放區中的 ZIP 檔案中。
-
若要存放包含儲存庫 URL 參考的 JSON 檔案,以便下游動作可以直接執行 Git 命令,請選擇 Full clone (完整複製)。此選項只能由 CodeBuild 下游動作使用。
-
-
在精靈中選擇 [下一步],或在 [編輯動作] 頁面上選擇 [儲
建立主機和與 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
。
建立主機
-
開啟終端機 (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
狀態。 -
使用主控台完成主機設定,並將主機變為
Available
狀態。
建立與 GitLab 自我管理的連線
-
開啟終端機 (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" } -
使用主控台來設定待定連線。
-
管線預設會偵測程式碼推送至連線來源儲存庫時的變更。若要針對手動發行或 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" ] } } ] } } ]
-