GitHub 企業伺服器連線 - AWS CodePipeline

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

GitHub 企業伺服器連線

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

注意

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

若要在 中新增 GitHub Enterprise Server 來源動作 CodePipeline,您可以選擇:

注意

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

開始之前:

  • 您必須已使用 GitHub Enterprise Server 建立帳戶,並在您的基礎設施上安裝 GitHub Enterprise Server 執行個體。

    注意

    每個主機一次VPC只能與一個主機 (GitHub Enterprise Server 執行個體) 建立關聯。

  • 您必須已使用 GitHub Enterprise Server 建立程式碼儲存庫。

建立與 GitHub Enterprise Server 的連線 (主控台)

使用這些步驟來使用 CodePipeline 主控台為您的 Enterprise Server GitHub儲存庫新增連線動作。

注意

GitHub Enterprise Server 連線僅提供存取 GitHub Enterprise Server 帳戶所擁有的儲存庫的存取權,該儲存庫用於建立連線。

開始之前:

對於與 GitHub Enterprise Server 的主機連線,您必須完成為連線建立主機資源的步驟。請參閱管理連線 的主機

步驟 1:建立或編輯管道

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

  2. 選擇下列其中一項。

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

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

  3. 執行以下任意一項:

    • 連線 下,如果您尚未建立與提供者的連線,請選擇連線至 GitHub 企業伺服器 。繼續步驟 2:建立與 GitHub 企業伺服器的連線。

    • 連線 下,如果您已建立與提供者的連線,請選擇連線。繼續步驟 3:儲存連線的來源動作。

建立與 GitHub Enterprise Server 的連線

選擇建立連線後,會顯示連線至 GitHub企業伺服器頁面。

重要

AWS CodeConnections 由於版本中已知的問題, 不支援 GitHub Enterprise Server 2.22.0 版。若要連線,請升級至 2.22.1 版或最新的可用版本。

連線至 GitHub Enterprise Server
  1. 針對 Connection name (連線名稱),請輸入連線的名稱。

  2. 在 中URL,輸入伺服器的端點。

    注意

    如果提供的 URL已用於設定 GitHub企業伺服器以進行連線,系統會提示您選擇先前為該端點建立ARN的主機資源。

  3. 如果您已將伺服器啟動至 Amazon,VPC且想要與 連線VPC,請選擇使用 VPC,並完成下列操作。

    1. VPC ID 中,選擇您的 VPC ID。請務必VPC為安裝 GitHub Enterprise Server 執行個體的基礎設施選擇 ,或透過 VPN或 Direct Connect 存取 Enterprise GitHub Server 執行個體VPC的 。

    2. Subnet ID (子網路 ID) 底下,選擇 Add (新增)。在欄位中,選擇您要用於主機的子網路 ID。您最多可選擇 10 個子網路。

      請務必選擇安裝 GitHub Enterprise Server 執行個體的基礎設施子網路,或透過 VPN或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的子網路。

    3. 安全群組 IDs下,選擇新增 。在欄位中,選擇您要用於主機的安全群組。您最多可以選擇 10 個安全群組。

      請務必選擇安裝 GitHub Enterprise Server 執行個體的基礎設施安全群組,或透過 VPN或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的安全群組。

    4. 如果您已VPC設定私有,且已設定 GitHub Enterprise Server 執行個體使用非公有憑證授權機構執行TLS驗證,請在TLS憑證 中輸入憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

      主控台螢幕擷取畫面,顯示為 VPC 選項建立 GitHub Enterprise Server 連線頁面。
  4. 選擇連線至 GitHub Enterprise Server 。建立的連線會顯示 Pending (待定) 狀態。系統會利用您提供的伺服器資訊為連線建立主機資源。對於主機名稱,URL會使用 。

  5. 選擇 Update pending connection (更新待定連線)

  6. 如果出現提示,請在 GitHub 企業登入頁面上使用您的企業憑證登入 GitHub。

  7. 建立 GitHub 應用程式頁面上,為您的應用程式選擇名稱。

  8. 在 GitHub 授權頁面上,選擇授權 <app-name>

  9. 在應用程式安裝頁面上,會顯示一則訊息,指出連接器應用程式已準備好進行安裝。如果您有多個組織,系統可能會提示您選擇要安裝應用程式的組織。

    選擇您要安裝應用程式的儲存庫設定。選擇 Install (安裝)

  10. 連線頁面會顯示建立的連線處於 Available (可用) 狀態。

步驟 3:儲存您的 GitHub Enterprise Server 來源動作

在精靈或編輯動作頁面上使用下列步驟,將來源動作與連線資訊一起儲存。

使用連線完成並儲存來源動作
  1. Repository name (儲存庫名稱) 中,選擇第三方儲存庫的名稱。

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

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

    • 若要使用預設方法儲存 GitHub 企業伺服器動作的輸出成品,請選擇CodePipeline預設 。動作會從 GitHub Enterprise Server 儲存庫存取檔案,並將成品存放在管道成品存放區中的ZIP檔案中。

    • 若要儲存包含儲存庫URL參考JSON的檔案,以便下游動作可以直接執行 Git 命令,請選擇完整複製 。此選項只能由 CodeBuild 下游動作使用。

  4. 在精靈上選擇下一步,或在編輯動作頁面上選擇儲存

建立主機並連線至 GitHub Enterprise Server (CLI)

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

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

重要

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

您可以使用 AWS Command Line Interface (AWS CLI) 為已安裝的連線建立主機。

注意

每個 GitHub Enterprise Server 帳戶只能建立主機一次。您對特定 GitHub Enterprise Server 帳戶的所有連線都會使用相同的主機。

您可以使用主機來代表安裝第三方供應商的基礎設施之端點。使用 完成主機建立後CLI,主機處於定狀態。然後,您可以設定或註冊主機,將其移至可用狀態。主機變為可用後,便可完成建立連線的步驟。

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

重要

透過 建立的主機預設 AWS CLI 處於 Pending 狀態。使用 建立主機之後CLI,請使用 主控台或 CLI設定主機,使其成為狀態 Available

建立主機
  1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行create-host命令,--provider-endpoint為您的連線指定 --name--provider-type和 。在此範例中,第三方供應商名稱為 GitHubEnterpriseServer,而端點為 my-instance.dev

    aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --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 狀態。

  2. 使用主控台完成主機設定,並將主機變為 Available 狀態。

建立與 GitHub Enterprise Server 的連線
  1. 開啟終端機 (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" }
  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" ] } } ] } } ]