AMIs使用自動化和更新 Jenkins - AWS Systems Manager

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

AMIs使用自動化和更新 Jenkins

如果您的組織在 CI/CD 管道中使用Jenkins軟體,您可以將 Automation 新增為建置後步驟,將應用程式版本預先安裝到 () 中。Amazon Machine Images AMIs自動化是的一項功能 AWS Systems Manager。您也可以使用Jenkins排程功能來呼叫自動化,並建立您自己的作業系統 (OS) 修補節奏。

以下範例顯示如何從執行現場部署或 Amazon 彈性運算雲端 (AmazonEC2) 的Jenkins伺服器叫用自動化。若要進行驗證,Jenkins伺服器會根據您在範例中建立並附加至執行個體設定檔的IAM原則,使用 AWS 認證。

注意

設定執行個體時,請務必遵循Jenkins安全性最佳做法。

開始之前

在您設定「自動化」之前,請先完成下列工作Jenkins:

若要建立Jenkins伺服器的IAM策略
  1. 登入 AWS Management Console 並開啟IAM主控台,位於https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Policies (政策),然後選擇 Create policy (建立政策)

  3. 選擇索JSON引標籤。

  4. 替換每個 example resource placeholder 使用您自己的信息。

    { "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" ] } ] }
  5. 選擇檢閱政策

  6. Review Policy (檢閱政策) 頁面上 Name (名稱)中,輸入該內嵌政策的名稱,例如 JenkinsPolicy

  7. 選擇 建立政策

  8. 在導覽窗格中,選擇角色

  9. 選擇連接到Jenkins伺服器的執行個體設定檔。

  10. 許可索引標籤上,依序選擇新增許可連接政策

  11. 其他許可政策區段中,輸入您在之前的步驟中建立的政策名稱。例如,JenkinsPolicy.

  12. 勾選政策旁邊的方塊,然後選擇連接政策

請使用下列程序在您的Jenkins伺服器 AWS CLI 上設定。

若要設定自動化的Jenkins伺服器
  1. 使用偏好的瀏覽Jenkins器 Connect 至連接埠 8080 上的伺服器,以存取管理介面。

  2. 輸入在 /var/lib/jenkins/secrets/initialAdminPassword 中找到的密碼。若要顯示您的密碼,請執行下列命令。

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  3. Jenkins安裝指令碼會將您引導至「自訂 Jenkins」頁面。選取 Install suggested plugins (安裝建議的外掛程式)。

  4. 安裝完成後,請選擇「管理員身份證明」,選取「儲存認證」,然後選取「開始使用」Jenkins。

  5. 在左側導覽窗格中,選擇 [管理]Jenkins,然後選擇 [管理外掛程式]。

  6. 選擇 Available (可用) 索引標籤,然後輸入 Amazon EC2 plugin

  7. 選取 Amazon EC2 plugin 的核取方塊,然後選取 Install without restart (安裝無需重新啟動)。

  8. 當完成安裝時,請選取 Go back to the top page (回到首頁)。

  9. 選擇 [管理]Jenkins,然後選擇 [管理節點和雲端]。

  10. 在「設定雲端」區段中,選取「新增雲端」,然後選擇「Amazon」EC2。

  11. 在剩餘欄位中輸入您的資訊。請務必選取 [使用EC2執行個體設定檔取得認證] 選項。

使用下列程序將Jenkins專案配置為叫用自動化。

若要將伺Jenkins服器設定為叫用自動化
  1. 在網頁瀏覽Jenkins器中開啟主控台。

  2. 選擇您想要以自動化設定的專案,接著選擇 Configure (設定)

  3. Build (建置) 索引標籤,選擇 Add Build Step (新增建置步驟)

  4. 選擇 Execute shell (執行 shell)Execute Windows batch command (執行 Windows 批次命令) (取決於您的作業系統)。

  5. 在「命」欄位中,執行如下所示的 AWS CLI 命令。替換每個 example resource placeholder 使用您自己的信息。

    aws ssm start-automation-execution \ --document-name runbook name \ --region AWS 區域 of your source AMI \ --parameters runbook parameters

    以下範例指令使用 UpdateMyLatestWindowsAmirunbook 和中latestAmiAMI使用自動化更新金幣 AWS Lambda,以及 Parameter Store建立的 Systems Manager 參數。

    aws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region region

    在中Jenkins,命令看起來像下列螢幕擷取畫面中的範例。

    Jenkins軟體中的範例命令。
  6. 在Jenkins專案中,選擇 [立即建置]。 Jenkins會傳回類似下列範例的輸出。

    Jenkins軟件中的示例命令輸出。