本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 GitHub 版本 1 來源動作更新為 GitHub 版本 2 來源動作
在中 AWS CodePipeline,有兩個受支援的 GitHub 來源動作版本:
-
建議:第 2 GitHub 版動作使用由CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作資源支援的 Github 應用程式驗證。它會將 AWS CodeStar 連線應用程式安裝到您的 GitHub 組織中,以便您可以管理中的存取 GitHub。
-
不建議: GitHub 版本 1 操作使用 OAuth 令牌進行身份驗證, GitHub 並使用單獨的 webhook 來檢測更改。這不再是建議使用的方法。
注意
亞太區域 (香港)、亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、非洲 (開普敦)、中東 (巴林)、中東 (阿聯酋)、歐洲 (西班牙)、歐洲 (蘇黎世)、以色列 (特拉維夫) 或 AWS GovCloud (美國西部) 區域不提供轉機服務。若要參考其他可用動作,請參閱與 的產品和服務整合 CodePipeline。如需在歐洲 (米蘭) 區域進行此動作的考量,請參閱中的附註CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作。
使用 GitHub 版本 2 動作而非版本 1 動作有一些重要的優點: GitHub
-
使用連接, CodePipeline 不再需要 OAuth 應用程序或個人訪問令牌來訪問您的存儲庫。當您建立連線時,您會安裝一個 GitHub 應用程式,該應用程式會管理 GitHub 存放庫的驗證,並允許組織層級的權限。您必須將 OAuth 令牌作為用戶授權才能訪問存儲庫。如需有關基於 OAuth 的存取與應用程式 GitHub 存取不同的更多資訊,請參 GitHub 閱。https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
-
當您在 CLI 中管理第 2 GitHub 版動作時 CloudFormation,或者您不再需要在 Secrets Manager 中將個人存取權杖儲存為密碼。您不再需要在動 CodePipeline 作配置中動態引用存儲的密碼。而是將連接 ARN 添加到操作配置中。如需動作組態範例,請參閱CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作。
-
當您建立與中的第 2 GitHub 版動作搭配使用的連線資源時 CodePipeline,您可以使用相同的連線資源,將其他支援的服務 (例如 CodeGuru Reviewer) 與您的存放庫建立關聯。
-
在 Github 版本 2 中,您可以克隆存儲庫以在後續 CodeBuild 操作中訪問 git 元數據,而在 Github 版本 1 中,您只能下載源代碼。
-
系統管理員會為您組織的儲存庫安裝應用程式。您不再需要跟踪依賴於創建令牌的個人的 OAuth 令牌。
安裝到組織的所有應用程式都可以存取同一組儲存庫。若要變更可存取每個儲存庫的使用者,請修改每個連線的 IAM 政策。如需範例,請參閱範例:在指定存放庫中使用連線的範圍縮減原則。
您可以使用本主題中的步驟刪除 GitHub 版本 1 來源動作,並從主 CodePipeline 控台新增第 2 GitHub 版來源動作。
步驟 1:取代您的版本 1 GitHub 動作
使用管線編輯頁面,將您的版本 1 GitHub 動作取代為第 2 版 GitHub 動作。
若要取代您的版本 1 GitHub 動作
-
登入 CodePipeline 主控台。
-
選擇您的管道,然後選擇 「編輯」。在來源階段中選擇「編輯階段」。會顯示一則訊息,建議您更新動作。
-
在 [動作提供者] 中,選擇 [GitHub 版本 2]。
-
執行以下任意一項:
-
在 [連線] 下方,如果您尚未建立與提供者的連線,請選擇 [Connect 線至] GitHub。繼續執行步驟 2:建立連線 GitHub。
-
在 [連線] 下方,如果您已建立與提供者的連線,請選擇連線。繼續執行步驟 3:儲存連線的來源動作。
-
步驟 2:建立連線 GitHub
選擇建立連線之後,會顯示 [Connect 線至 GitHub] 頁面。
若要建立連線 GitHub
-
在「GitHub 連線設定」 下,您的連線名稱會顯示在「連線名稱」中。
在 [GitHub 應用程式] 下方,選擇應用程式安裝,或選擇 [安裝新的應用程式] 來建立
注意
您可以為您連至特定供應商的所有連線安裝一個應用程式。如果您已經安裝了該 GitHub 應用程序,請選擇它並跳過此步驟。
-
如果 GitHub 顯示的授權頁面,請使用您的認證登入,然後選擇繼續。
-
在應用程式安裝頁面上,會有訊息顯示 AWS CodeStar 應用程式正在嘗試連線到您的 GitHub 帳戶。
注意
您只能為每個 GitHub 帳戶安裝一次該應用程序。如果您先前已安裝應用程式,可以選擇 Configure (設定),繼續前往應用程式安裝的修改頁面,或者您可以使用上一步按鈕返回主控台。
-
在 [安裝 AWS CodeStar] 頁面上,選擇 [安裝]。
-
在 [Connect 線至 GitHub] 頁面上,會顯示新安裝的連線 ID。選擇連線。
步驟 3:儲存來 GitHub 源動作
在 「編輯」動作頁面上完成更新,以儲存新的來源動作。
若要儲存 GitHub 來源動作
-
在存放庫中,輸入第三方存放庫的名稱。在「分支」中,輸入您希望管線偵測來源變更的分支。
注意
在存放庫中,輸入
owner-name/repository-name
如下範例所示:my-account/my-repository
-
在 [輸出成品格式] 中,選擇成品的格式。
-
若要使用預設方法儲存 GitHub 動作的輸出成品,請選擇CodePipeline 預設值。此動作會從存 GitHub 放庫存取檔案,並將人工因素儲存在管線人工因素存放區中的 ZIP 檔案中。
-
若要存放包含儲存庫 URL 參考的 JSON 檔案,以便下游動作可以直接執行 Git 命令,請選擇 Full clone (完整複製)。此選項只能由 CodeBuild 下游動作使用。
如果您選擇此選項,則需要更新 CodeBuild 專案服務角色的權限,如中所示新增 Bitbucket、 GitHub GitHub Enterprise Server 或 GitLab.com 連線的 CodeBuild GitClone 許可。如需說明如何使用「完整複製」選項的教學課程,請參閱教學課程:搭配 GitHub 管道來源使用完整複製。
-
-
在輸出人工因素中,您可以保留此動作的輸出成品名稱,例如
SourceArtifact
。選擇「完成」以關閉「編輯」動作頁面。 -
選擇「完成」以關閉階段編輯頁面。選擇「儲存」以關閉配管編輯頁面。