本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Automation 和 Jenkins 更新 AMIs
如果組織是在 CI/CD 管道中使用 Jenkins 軟體,則可以將 Automation 作為後建置步驟新增,以將應用程式版本預先安裝到 Amazon Machine Images (AMIs) 中。自動化是 中的工具 AWS Systems Manager。也可以使用 Jenkins 排程功能呼叫 Automation 並建立自己的作業系統 (OS) 修補頻率。
以下範例顯示如何從內部部署或在 Amazon Elastic Compute Cloud (Amazon EC2) 中執行的 Jenkins 伺服器調用 Automation。對於身分驗證,Jenkins伺服器會根據您在範例中建立的 IAM 政策使用 AWS 登入資料,並連接至執行個體描述檔。
注意
設定執行個體時,請務必遵照 Jenkins 安全最佳實務。
開始之前
在透過 Jenkins 設定 Automation 之前,請完成以下任務:
-
完成 AMI 使用 Automation 更新黃金 AWS Lambda,以及 Parameter Store 範例。以下範例使用在該範例中建立的 UpdateMyLatestWindowsAmi Runbook。
-
為 Automation 設定 IAM 角色。Systems Manager 需要執行個體設定檔角色和服務角色 ARN 以處理自動化。如需詳細資訊,請參閱設定自動化。
為 Jenkins 伺服器建立 IAM 政策
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在導覽窗格中,選擇政策,然後選擇建立政策。
-
選擇 JSON 標籤。
-
將每個
範例資源預留位置
取代為您自己的資訊。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartAutomationExecution", "Resource": [ "arn:aws:ssm:
region
:account ID
:document/UpdateMyLatestWindowsAmi", "arn:aws:ssm:region
:account ID
:automation-definition/UpdateMyLatestWindowsAmi:$DEFAULT" ] } ] } -
選擇檢閱政策。
-
在檢閱政策頁面上名稱中,輸入該內嵌政策的名稱,例如
JenkinsPolicy
。 -
選擇 建立政策。
-
在導覽窗格中,選擇角色。
-
選擇連接至 Jenkins 伺服器的執行個體設定檔。
-
在許可索引標籤上,依序選擇新增許可、連接政策。
-
在其他許可政策區段中,輸入您在之前的步驟中建立的政策名稱。例如,JenkinsPolicy。
-
勾選政策旁邊的方塊,然後選擇連接政策。
使用下列程序在Jenkins伺服器上設定 AWS CLI 。
為 Automation 設定 Jenkins 伺服器
-
使用您偏好的瀏覽器存取管理介面,連線至連接埠 8080 的 Jenkins 伺服器。
-
輸入在
/var/lib/jenkins/secrets/initialAdminPassword
中找到的密碼。若要顯示您的密碼,請執行下列命令。sudo cat /var/lib/jenkins/secrets/initialAdminPassword
-
Jenkins 安裝指令碼會將您引導至自訂 Jenkins 頁面。選取 Install suggested plugins (安裝建議的外掛程式)。
-
完成安裝之後,請選擇管理員憑證,選取儲存憑證,然後選取開始使用 Jenkins。
-
在左側導覽窗格中,選擇管理 Jenkins,然後選擇管理外掛程式。
-
選擇 Available (可用) 索引標籤,然後輸入
Amazon EC2 plugin
。 -
選取
Amazon EC2 plugin
的核取方塊,然後選取 Install without restart (安裝無需重新啟動)。 -
當完成安裝時,請選取 Go back to the top page (回到首頁)。
-
選擇 管理 Jenkins,然後選擇管理節點和雲端。
-
在設定雲端區段中,選取新增雲端,然後選擇 Amazon EC2。
-
在剩餘欄位中輸入您的資訊。請務必選取使用 EC2 執行個體設定檔取得憑證選項。
按照下列程序設定 Jenkins 專案以調用 Automation。
設定 Jenkins 伺服器以調用 Automation
-
在 Web 瀏覽器中開啟 Jenkins 主控台。
-
選擇您想要以自動化設定的專案,接著選擇 Configure (設定)。
-
在 Build (建置) 索引標籤,選擇 Add Build Step (新增建置步驟)。
-
選擇 Execute shell (執行 shell) 或 Execute Windows batch command (執行 Windows 批次命令) (取決於您的作業系統)。
-
在命令欄位中,執行如下所示的 AWS CLI 命令。將每個
範例資源預留位置
取代為您自己的資訊。aws ssm start-automation-execution \ --document-name
runbook name
\ --regionAWS 區域 of your source AMI
\ --parametersrunbook parameters
下列範例命令使用 UpdateMyLatestWindowsAmi Runbook 和 AMI 使用 Automation 更新黃金 AWS Lambda,以及 Parameter Store 中建立的 Systems Manager 參數
latestAmi
。aws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region
region
在 Jenkins 中,命令類似於以下螢幕擷取畫面中的範例。
-
在 Jenkins 專案中,選擇立即建置。Jenkins 會傳回類似於下列範例的輸出。