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