本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:建立管道的變數檢查規則做為進入條件
在本教學課程中,您會設定管道,以使用 GitHub 做為來源階段中的來源動作提供者,持續交付檔案。當您變更來源儲存庫中的來源檔案時,完整的管道便會偵測到變更。管道會執行 ,然後對照 條件中提供的來源儲存庫名稱和分支名稱檢查輸出變數,以進入建置階段。
重要
在建立管道的過程中,CodePipeline 將使用客戶提供的 S3 成品儲存貯體來製作成品。(這與用於 S3 來源動作的 儲存貯體不同。) 如果 S3 成品儲存貯體位於與管道帳戶不同的帳戶中,請確定 S3 成品儲存貯體屬於 AWS 帳戶 安全且可靠的 。
重要
您在此程序中新增至管道的許多動作都涉及在建立管道之前需要建立 AWS 的資源。來源動作 AWS 的資源一律必須在您建立管道的相同 AWS 區域中建立。例如,如果您在美國東部 (俄亥俄) 區域建立管道,則 CodeCommit 儲存庫必須位於美國東部 (俄亥俄) 區域。
您可以在建立管道時新增跨區域動作。跨區域動作 AWS 的資源必須位於您計劃執行動作的相同 AWS 區域中。如需詳細資訊,請參閱在中新增跨區域動作 CodePipeline。
此範例使用具有 GitHub (第 2 版) 來源動作和 CodeBuild 組建動作的範例管道,其中組建階段的進入條件將檢查變數。
必要條件
開始之前,您必須執行以下作業:
-
使用 GitHub 帳戶建立 GitHub 儲存庫。
-
準備好您的 GitHub 登入資料。當您使用 AWS Management Console 設定連線時,系統會要求您使用 GitHub 登入資料登入。
-
與儲存庫的連線,以將 GitHub (透過 GitHub 應用程式) 設定為管道的來源動作。若要建立 GitHub 儲存庫的連線,請參閱 GitHub 連線。
步驟 1:建立範例來源檔案並新增至 GitHub 儲存庫
在本節中,您會建立範例來源檔案,並將其新增至管道用於來源階段的儲存庫。在此範例中,您會產生並新增下列項目:
-
README.md
檔案。
建立 GitHub 儲存庫之後,請使用下列步驟來新增您的 README 檔案。
-
登入您的 GitHub 儲存庫,然後選擇您的儲存庫。
-
若要建立新檔案,請選擇新增檔案,然後選擇建立新檔案。命名檔案
README.md
並新增下列文字。This is a GitHub repository!
-
選擇 Commit changes (遞交變更)。在本教學課程中,新增包含大寫單字「更新」的遞交訊息,如下列範例所示:
Update to source files
注意
字串的規則檢查區分大小寫。
確定
README.md
檔案位於儲存庫的根層級。
步驟 2:建立管道
在本節中,您可以採取下列動作建立管道:
-
與 GitHub 儲存庫和動作連線的來源階段。
-
CodeBuild 建置階段,其中階段已針對變數檢查規則設定進入時條件。
使用精靈建立管道
-
前往 https://console.aws.amazon.com/codepipeline/
登入 CodePipeline 主控台。 -
在 Welcome (歡迎) 頁面、Getting started (入門) 頁面、或者 Pipelines (管道) 頁面上,選擇 Create pipeline (建立管道)。
-
在步驟 1:選擇建立選項頁面的建立選項下,選擇建置自訂管道選項。選擇 Next (下一步)。
-
在步驟 2:選擇管道設定,在管道名稱中輸入
MyVarCheckPipeline
。 -
CodePipeline 提供 V1 和 V2 類型的管道,其特性和價格各不相同。V2 類型是您可以在 主控台中選擇的唯一類型。如需詳細資訊,請參閱管道類型。如需 CodePipeline 定價的資訊,請參閱定價
。 -
在 Service role (服務角色) 中,選擇 New service role (新服務角色)。
注意
如果您選擇改用現有的 CodePipeline 服務角色,請確定您已將
codeconnections:UseConnection
IAM 許可新增至您的服務角色政策。如需 CodePipeline 服務角色的說明,請參閱為 CodePipeline 服務角色新增許可。 -
在進階設定底下,請保留預設值。
選擇 Next (下一步)。
-
在步驟 3:新增來源階段頁面上,新增來源階段:
-
在來源提供者中,選擇 GitHub (透過 GitHub 應用程式)。
-
在連線下,選擇現有的連線或建立新的連線。若要為您的 GitHub 來源動作建立或管理連線,請參閱GitHub 連線。
-
在儲存庫名稱中,選擇 GitHub 儲存庫的名稱。
-
在分支名稱中,選擇您要使用的儲存庫分支。
-
確定已選取無觸發選項。
選擇 Next (下一步)。
-
-
在步驟 4:新增建置階段,新增建置階段:
-
在 Build provider (建置供應商) 中,選擇 AWS CodeBuild。允許 Region (區域) 預設為管道區域。
-
選擇建立專案。
-
在 Project name (專案名稱) 中,輸入此建置專案的名稱。
-
在 Environment image (環境映像) 中,選擇 Managed image (受管映像)。針對 Operating system (作業系統),選擇 Ubuntu。
-
針對 Runtime (執行時間),選擇 Standard (標準)。針對映像,選擇 aws/codebuild/standard:5.0。
-
對於 Service role (服務角色),選擇 New service role (新服務角色)。
注意
請注意 CodeBuild 服務角色的名稱。在本教學課程中,您將需要最後一個步驟的角色名稱。
-
在 BuildSpec 底下,針對 Build specifications (建置規格) 選擇 Insert build commands (插入建置命令)。選擇切換到編輯器,並在建置命令下貼上以下內容。
version: 0.2 #env: #variables: # key: "value" # key: "value" #parameter-store: # key: "value" # key: "value" #git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 #commands: # - command # - command #pre_build: #commands: # - command # - command build: commands: - #post_build: #commands: # - command # - command artifacts: files: - '*' # - location name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
-
選擇 Continue to CodePipeline (繼續 CodePipeline)。這會傳回 CodePipeline 主控台,並建立使用您的建置命令進行設定的 CodeBuild 專案。建置專案使用服務角色來管理 AWS 服務 許可。此步驟可能需要數分鐘。
-
選擇 Next (下一步)。
-
-
在步驟 5:新增測試階段,選擇略過測試階段,然後再次選擇略過以接受警告訊息。
選擇 Next (下一步)。
-
在步驟 6:新增部署階段頁面上,選擇略過部署階段,然後再次選擇略過以接受警告訊息。選擇 Next (下一步)。
-
在步驟 7:檢閱中,選擇建立管道。
步驟 2:編輯建置階段以新增條件和規則
在此步驟中,您可以編輯階段,為變數檢查規則新增進入時條件。
-
選擇您的管道,然後選擇編輯。選擇在建置階段新增項目規則。
在規則提供者中,選擇 VariableCheck。
-
在變數中,輸入您要檢查的變數。在值中,輸入字串值以檢查已解析的變數。在下列範例畫面中,會為「等於」檢查建立規則,並為「包含」檢查建立另一個規則。
-
選擇 Save (儲存)。
選擇完成。
步驟 3:執行管道並檢視已解析的變數
在此步驟中,您可以檢視變數檢查規則的解析值和結果。
-
在規則檢查成功後檢視解析的執行,如下列範例所示。
-
在時間軸索引標籤上檢視變數資訊。