GitHub 企業伺服器連線 - AWS CodePipeline

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

GitHub 企業伺服器連線

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

注意

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

若要在中新增「 GitHub 企業伺服器」來源動作 CodePipeline,您可以選擇下列其中一項:

注意

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

開始之前:

  • 您必須已建立 GitHub 企業伺服器帳戶,並在您的基礎結構上安裝 GitHub 企業伺服器執行個體。

    注意

    每個 VPC 一次只能與一台主機 (GitHub 企業伺服器執行個體) 產生關聯。

  • 您必須已經使用 GitHub 企業伺服器建立程式碼儲存庫。

建立與 GitHub 企業伺服器 (主控台) 的連線

使用下列步驟可使用 CodePipeline 主控台新增 GitHub企業伺服器儲存區域的連線動作。

注意

GitHub 企業伺服器連線只能存取用來建立連線之 GitHub 企業伺服器帳戶所擁有的儲存庫。

在您開始之前:

對於 GitHub 企業伺服器的主機連線,您必須完成為連線建立主機資源的步驟。請參閱管理主機以取得連線

步驟 1:建立或編輯管道

若要建立或編輯管線
  1. 登入 CodePipeline 主控台。

  2. 選擇下列其中一項。

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

    • 選擇編輯現有配管。選擇 [編輯],然後選擇 [編輯階段]。選擇新增或編輯來源動作。在 [編輯動作] 頁面上的 [動作名稱] 下,輸入動作的名稱。在動作提供者中,選擇GitHub 企業伺服器

  3. 執行以下任意一項:

    • 在 [連線] 底下,如果您尚未建立與提供者的連線,請選擇 [Connect 線到 GitHub 企業伺服器]。繼續執行步驟 2:建立與 GitHub 企業伺服器的連線。

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

建立與 GitHub企業伺服器的連線

選擇建立連線之後,便會顯示「連線到 GitHub企業伺服器」頁面。

重要

AWS CodeConnections 由於發行版本中存在已知問題,因此不支援 GitHub 企業伺服器 2.22.0 版。若要連線,請升級至 2.22.1 版或最新的可用版本。

連線至 GitHub 企業伺服器
  1. 針對 Connection name (連線名稱),請輸入連線的名稱。

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

    注意

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

  3. 如果您已將伺服器啟動到 Amazon VPC 中,且想與 VPC 連線,請選擇 Use a VPC (使用 VPC),然後完成以下操作。

    1. VPC ID 底下,選擇您的 VPC ID。請務必針對安裝 GitHub 企業伺服器執行個體的基礎結構選擇 VPC,或是可透過 VPN 或直 Connect 存取 GitHub企業伺服器執行個體的 VPC。

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

      請務必針對安裝 GitHub Enterprise Server 執行個體的基礎結構選擇子網路,或是可透過 VPN 或直 Connect 存取已安裝 GitHub 企業伺服器執行個體的子網路。

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

      請務必針對安裝 GitHub Enterprise Server 執行個體的基礎結構選擇安全性群組,或可透過 VPN 或直 Connect 存取已安裝 GitHub 企業伺服器執行個體的安全性群組。

    4. 如果您已設定私有 VPC,並且已將 GitHub 企業伺服器執行個體設定為使用非公用憑證授權單位執行 TLS 驗證,請在 TLS 憑證中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

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

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

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

  7. 在「建立 GitHub 應用程式」頁面上,選擇應用程式的名稱。

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

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

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

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

步驟 3:儲存您的 GitHub 企業伺服器來源動作

使用精靈或 「編輯」動作頁面上的這些步驟,將來源動作與連線資訊一起儲存。

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

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

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

    • 若要使用預設方法儲存「 GitHub 企業伺服器」動作的輸出人工因素,請選擇CodePipeline預設值。此動作會存取 GitHub 企業伺服器存放庫中的檔案,並將人工因素儲存在管線人工因素存放區中的 ZIP 檔案中。

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

  4. 在精靈中選擇 [下一步],或在 [編輯動作] 頁面上選擇 [

建立主機並連線至 GitHub 企業伺服器 (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 企業伺服器帳戶只能建立一個主機一次。您與特定 GitHub 企業伺服器帳戶的所有連線都會使用相同的主機。

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

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

重要

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

建立主機
  1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 來執行指create-host令,--provider-endpoint為您的連線指定--provider-type、和。--name在此範例中,第三方供應商名稱為 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 企業伺服器的連線
  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" ] } } ] } } ]