Aggiornamento AMIs tramite automazione e Jenkins - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiornamento AMIs tramite automazione e Jenkins

Se la tua organizzazione utilizza Jenkins software in una pipeline CI/CD, puoi aggiungere Automation come fase successiva alla compilazione per preinstallare le versioni delle applicazioni in (). Amazon Machine Images AMIs L'automazione è una capacità di. AWS Systems ManagerÈ inoltre possibile utilizzare la funzionalità di Jenkins pianificazione per chiamare Automation e creare una cadenza di patch personalizzata per il sistema operativo (OS).

L'esempio seguente mostra come richiamare l'automazione da un Jenkins server in esecuzione in locale o in Amazon Elastic Compute Cloud (Amazon). EC2 Per l'autenticazione, il Jenkins server utilizza AWS le credenziali in base a una IAM policy creata nell'esempio e allegata al profilo dell'istanza.

Nota

Assicurati di seguire le migliori pratiche Jenkins di sicurezza durante la configurazione dell'istanza.

Prima di iniziare

Completa le seguenti attività prima di configurare Automation conJenkins:

Per creare una IAM politica per il server Jenkins
  1. Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, seleziona Policy e quindi Crea policy.

  3. Scegli la JSONscheda.

  4. Sostituisci ciascuno example resource placeholder con le tue informazioni.

    { "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. Scegli Review policy (Rivedi policy).

  6. Nella pagina Review policy (Rivedi policy), per l'opzione Name (Nome) specificare un nome per la policy inline, ad esempio JenkinsPolicy.

  7. Scegli Create Policy (Crea policy).

  8. Nel riquadro di navigazione, seleziona Ruoli.

  9. Scegli il profilo dell'istanza collegato al tuo Jenkins server.

  10. Nella scheda Autorizzazioni, scegli Aggiungi autorizzazioni, quindi scegli Collega policy.

  11. Nella sezione Altre policy di autorizzazione, inserisci il nome della policy creata nei passaggi precedenti. Ad esempio, JenkinsPolicy.

  12. Seleziona la casella di controllo accanto alla policy, quindi scegli Collega policy.

Utilizza la procedura seguente per configurarli AWS CLI sul tuo Jenkins server.

Per configurare il Jenkins server per l'automazione
  1. Connect al Jenkins server sulla porta 8080 utilizzando il browser preferito per accedere all'interfaccia di gestione.

  2. Inserire la password trovata in /var/lib/jenkins/secrets/initialAdminPassword. Per visualizzare la password, eseguire il comando seguente.

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  3. Lo script Jenkins di installazione ti indirizza alla pagina Personalizza Jenkins. Selezionare Install suggested plugins (Installazione dei plug-in suggeriti).

  4. Una volta completata l'installazione, scegli Credenziali di amministratore, seleziona Salva credenziali, quindi seleziona Inizia a utilizzare. Jenkins

  5. Nel riquadro di navigazione a sinistra, scegli Gestisci Jenkins, quindi scegli Gestisci plugin.

  6. Scegliere la scheda Available (Disponibilità) e quindi inserire Amazon EC2 plugin.

  7. Selezionare la casella di controllo relativa a Amazon EC2 plugin e quindi selezionare Install without restart (Installazione senza riavvio).

  8. Al termine dell'installazione, selezionare Go back to the top page (Torna alla pagina iniziale).

  9. Scegli Gestisci Jenkins, quindi scegli Gestisci nodi e cloud.

  10. Nella sezione Configura cloud, seleziona Aggiungi un nuovo cloud, quindi scegli Amazon EC2.

  11. Inserisci le tue informazioni nei campi rimanenti. Assicurati di selezionare l'opzione Usa il profilo dell'EC2istanza per ottenere le credenziali.

Utilizzate la procedura seguente per configurare il Jenkins progetto in modo che richiami l'automazione.

Per configurare il Jenkins server per richiamare l'automazione
  1. Apri la Jenkins console in un browser web.

  2. Scegliere il progetto che si desidera configurare con il servizio di automazione, quindi scegliere Configure (Configura).

  3. Nella scheda Build (Compilazione) scegliere Add Build Step (Aggiungi fase di compilazione).

  4. Scegliere Execute shell (Esegui shell) o Execute Windows batch command (Esegui comando batch Windows) (a seconda del sistema operativo in uso).

  5. Nel campo Comando, esegui un AWS CLI comando come il seguente. Sostituisci ciascuno example resource placeholder con le tue informazioni.

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

    Il comando di esempio seguente utilizza il UpdateMyLatestWindowsAmirunbook e il parametro Systems Manager latestAmi creati inAggiorna un golden AMI usando Automation AWS Lambda, e Parameter Store.

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

    InJenkins, il comando è simile all'esempio nella schermata seguente.

    Un comando di esempio nel Jenkins software.
  6. Nel Jenkins progetto, scegli Costruisci ora. Jenkinsrestituisce un output simile al seguente esempio.

    Esempio di output dei comandi nel Jenkins software.