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 in corso AMIs utilizzando l'automazione e Jenkins
Se la tua organizzazione utilizza Jenkins software in una pipeline CI/CD, è possibile aggiungere Automation come fase successiva alla compilazione per preinstallare le versioni delle applicazioni in Amazon Machine Images (AMIs). L'automazione è uno strumento in AWS Systems Manager. Puoi anche usare il Jenkins funzionalità di 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 il server utilizza AWS le credenziali basate su una policy IAM creata nell'esempio e allegata al profilo dell'istanza.
Nota
Assicurati di seguire Jenkins best practice di sicurezza per la configurazione dell'istanza.
Prima di iniziare
Completa le seguenti attività prima di configurare Automation con Jenkins:
-
Completare l'esempio descritto nell'argomento Aggiorna un golden AMI utilizzando l' AWS Lambda automazione 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 Jenkins server
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 ogni
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" ] } ] } -
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 Create Policy (Crea policy).
-
Nel riquadro di navigazione, seleziona Ruoli.
-
Scegli il profilo di istanza allegato 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.
Usa la seguente procedura per configurarlo AWS CLI sul tuo Jenkins server.
Per configurare il Jenkins server per l'automazione
-
Connect al tuo 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
-
Il Jenkins lo script di installazione indirizza l'utente alla pagina Personalizza Jenkinspagina. 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 Configura cloud, seleziona Aggiungi un nuovo cloud, quindi scegli Amazon EC2.
-
Inserisci le tue informazioni nei campi rimanenti. Assicurati di selezionare l'opzione Usa il profilo dell' EC2 istanza per ottenere le credenziali.
Utilizzate la procedura seguente per configurare il Jenkins progetto per richiamare l'automazione.
Per configurare il tuo Jenkins server per richiamare Automation
-
Aprire il 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 ogni
example resource placeholder
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 utilizzando l' AWS Lambda automazione e Parameter Store.aws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region
region
In Jenkins, il comando è simile all'esempio riportato nella schermata seguente.
-
Nel Jenkins progetto, scegli Costruisci ora. Jenkins restituisce un output simile al seguente esempio.