本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 5:在中建立管道 CodePipeline
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
在堆疊具有層且在 AWS OpsWorks Stacks 中設定至少一個執行個體之後,請在中建立管道,並以 AWS OpsWorks Stacks 做為提供者,將應用程式或 Chef 食譜部署到 AWS OpsWorks Stacks 資源。 CodePipeline
建立管道
在開啟 CodePipeline 主控台https://console.aws.amazon.com/codepipeline/
。 -
選擇 Create pipeline (建立管道)。
-
在 [開始使用] CodePipeline 頁面上
MyOpsWorksPipeline
,輸入或您帳戶專屬的任何其他管道名稱,然後選擇 [下一步]。 -
在 Source Location (來源位置) 頁面上,從 Source provider (來源提供者) 下拉式清單選取 Amazon S3。
-
在 Amazon S3 詳細資料區域中,以格式輸入 Amazon S3 儲存貯體路徑
s3://
。參考您在步驟 3:將應用程式程式碼上傳到 Amazon S3 儲存貯體的步驟 9 中記下的連結。在本演練中,路徑為bucket-name
/file name
s3://my-appbucket/opsworks-nodejs-demo-app.zip
。選擇 下一個步驟。 -
在 Build (組建) 頁面上,從下拉式清單選擇 No Build (無組建),然後選擇 Next step (下一步)。
-
在 Deploy (部署) 頁面上,選擇 AWS OpsWorks Stacks 做為部署提供者。
-
在 Stack (堆疊) 欄位中輸入
CodePipelineDemo
,或您在步驟 1:在「堆疊」中建立堆 AWS OpsWorks 疊、圖層和實體中建立的堆疊名稱。 -
在 Layer 欄位中輸入
Node.js App Server
,或您在步驟 1:在「堆疊」中建立堆 AWS OpsWorks 疊、圖層和實體中建立的 layer 名稱。 -
在 [應用程式] 欄位中,選取您在其中上傳至 Amazon S3 的應用程式步驟 3:將應用程式程式碼上傳到 Amazon S3 儲存貯體,然後選擇 [下一步]。
-
在 [AWS 服務角色] 頁面上,選擇 [建立角色]。
新視窗隨即開啟,其中包含IAM主控台頁面,說明將為您建立的角色
AWS-CodePipeline-Service
。從 Policy name (政策名稱) 下拉式清單,選擇 Create new policy (建立新政策)。請確認政策文件包含下列內容。如有需要,請選擇 Edit (編輯) 來變更政策文件。{ "Statement": [ { "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketVersioning" ], "Resource": "*", "Effect": "Allow" }, { "Action": "opsworks:*", "Resource": "*", "Effect": "Allow" } ] }
完成政策文件的變更後,選擇 Allow (允許)。您的更改將顯示在IAM控制台中。
注意
如果角色建立失敗,可能是因為您已經擁有名為 AWS-CodePipeline-Service 的IAM角色。如果您在 2016 年 5 月之前一直使用 AWSCodePipeline-服務角色,則該角色可能沒有使用 AWS OpsWorks 堆疊作為部署提供者的權限。在本例中,您必須更新此政策陳述式,如本步驟中所示。若您看到錯誤訊息,請回到此步驟的開頭,並選擇 Use existing role (使用現有的角色) 而非 Create role (建立角色)。如果您使用現有的角色,該角色應會連接含有此步驟中所示許可的政策。如需服務角色及其原則陳述式的詳細資訊,請參閱編輯IAM服務角色的原則。
-
如果角色建立程序順利完成,IAM頁面就會關閉,而您會返回「AWS 服務角色」頁面。選擇 下一個步驟。
-
在 Review your pipeline (檢閱管道) 頁面上,確認頁面顯示的選項,然後選擇 Create pipeline (建立管道)。
-
當管道就緒時,其應會開始尋找來源碼,並自動將應用程式部署到堆疊。此程序需要幾分鐘的時間。