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 credenziali basate su una policy IAM 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:
-
Completare l'esempio descritto nell'argomento Aggiorna un golden AMI usando Automation AWS Lambda, e Parameter Store. L'esempio seguente utilizza il UpdateMyLatestWindowsAmirunbook creato in quell'esempio.
-
Configurare i ruoli IAM per il servizio di automazione. Systems Manager richiede un ruolo del profilo dell'istanza e un ARN del ruolo di servizio per elaborare le automazioni. Per ulteriori informazioni, consulta Configurazione del servizio di automazione.
Per creare una policy IAM per il server Jenkins
Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, scegliere Policies (Policy) e Create Policy (Crea policy).
-
Scegli la scheda JSON.
-
Sostituisci ciascun
segnaposto delle risorse di esempio
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" ] } ] } -
Scegli Review policy (Rivedi policy).
-
Nella pagina Review policy (Rivedi policy), per l'opzione Name (Nome) specificare un nome per la policy inline, ad esempio
JenkinsPolicy
. -
Scegli Crea policy.
-
Nel riquadro di navigazione, seleziona Ruoli.
-
Scegli il profilo dell'istanza collegato al tuo Jenkins server.
-
Nella scheda Autorizzazioni, scegli Aggiungi autorizzazioni, quindi scegli Collega policy.
-
Nella sezione Altre policy di autorizzazione, inserisci il nome della policy creata nei passaggi precedenti. Ad esempio, JenkinsPolicy.
-
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
-
Connect al Jenkins server sulla porta 8080 utilizzando il browser preferito per accedere all'interfaccia di gestione.
-
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
-
Lo script Jenkins di installazione ti indirizza alla pagina Personalizza Jenkins. Selezionare Install suggested plugins (Installazione dei plug-in suggeriti).
-
Una volta completata l'installazione, scegli Credenziali di amministratore, seleziona Salva credenziali, quindi seleziona Inizia a utilizzare. Jenkins
-
Nel riquadro di navigazione a sinistra, scegli Gestisci Jenkins, quindi scegli Gestisci plugin.
-
Scegliere la scheda Available (Disponibilità) e quindi inserire
Amazon EC2 plugin
. -
Selezionare la casella di controllo relativa a
Amazon EC2 plugin
e quindi selezionare Install without restart (Installazione senza riavvio). -
Al termine dell'installazione, selezionare Go back to the top page (Torna alla pagina iniziale).
-
Scegli Gestisci Jenkins, quindi scegli Gestisci nodi e cloud.
-
Nella sezione Cloud, seleziona Aggiungi un nuovo cloud, quindi scegli Amazon EC2.
-
Inserisci le tue informazioni nei campi rimanenti. Assicurati di selezionare l'opzione Utilizza il profilo dell'istanza EC2 per ottenere le credenziali.
Utilizza la seguente procedura per configurare il Jenkins progetto in modo che richiami l'automazione.
Per configurare il Jenkins server per richiamare l'automazione
-
Apri la Jenkins console in un browser web.
-
Scegliere il progetto che si desidera configurare con il servizio di automazione, quindi scegliere Configure (Configura).
-
Nella scheda Build (Compilazione) scegliere Add Build Step (Aggiungi fase di compilazione).
-
Scegliere Execute shell (Esegui shell) o Execute Windows batch command (Esegui comando batch Windows) (a seconda del sistema operativo in uso).
-
Nel campo Comando, esegui un AWS CLI comando come il seguente. Sostituisci ciascun
segnaposto delle risorse di esempio
con le tue informazioni.aws ssm start-automation-execution \ --document-name
runbook name
\ --regionRegione AWS of your source AMI
\ --parametersrunbook 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.
-
Nel Jenkins progetto, scegli Costruisci ora. Jenkinsrestituisce un output simile al seguente esempio.