Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mise à jour AMIs grâce à l'automatisation et Jenkins
Si votre organisation utilise un Jenkins logiciel dans un pipeline CI/CD, vous pouvez ajouter Automation en tant qu'étape de post-construction pour préinstaller les versions de l'application dans (). Amazon Machine Images AMIs L'automatisation est une capacité de AWS Systems Manager. Vous pouvez également utiliser la fonction de Jenkins planification pour appeler Automation et créer votre propre cadence d'application des correctifs pour votre système d'exploitation (OS).
L'exemple ci-dessous montre comment invoquer Automation à partir d'un Jenkins serveur qui s'exécute sur site ou dans Amazon Elastic Compute Cloud (AmazonEC2). Pour l'authentification, le Jenkins serveur utilise des AWS informations d'identification basées sur une IAM politique que vous avez créée dans l'exemple et que vous associez à votre profil d'instance.
Note
Veillez à suivre les meilleures pratiques en matière Jenkins de sécurité lors de la configuration de votre instance.
Avant de commencer
Effectuez les tâches suivantes avant de configurer Automation avec Jenkins :
-
Complétez l'exemple Mettez à jour un golden AMI à l'aide de l'automatisation AWS Lambda, et Parameter Store. L'exemple suivant utilise le UpdateMyLatestWindowsAmirunbook créé dans cet exemple.
-
Configurez IAM les rôles pour l'automatisation. Systems Manager a besoin d'un rôle de profil d'instance et d'un rôle de service ARN pour traiter les automatisations. Pour de plus amples informations, veuillez consulter Configuration d'Automation.
Pour créer une IAM politique pour le Jenkins serveur
Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le volet de navigation, sélectionnez Politiques, puis Créer une politique.
-
Choisissez l'JSONonglet.
-
Remplacez chacun
example resource placeholder
avec vos propres informations.{ "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" ] } ] } -
Choisissez Review policy (Examiner une politique).
-
Sur la page Examiner une politique, dans le champ Nom, saisissez un nom pour la politique en ligne, tel que
JenkinsPolicy
. -
Choisissez Create Policy (Créer une politique).
-
Dans le panneau de navigation, choisissez Roles (Rôles).
-
Choisissez le profil d'instance attaché à votre Jenkins serveur.
-
Sous l'onglet Autorisations, sélectionnez Ajouter des autorisations et choisissez Attacher des politiques.
-
Dans la section Autres politiques d'autorisation, saisissez le nom de la politique que vous avez créée lors des étapes précédentes. Par exemple, JenkinsPolicy.
-
Sélectionnez la case en regard de votre politique et choisissez Attacher des politiques.
Utilisez la procédure suivante pour configurer le AWS CLI sur votre Jenkins serveur.
Pour configurer le Jenkins serveur pour l'automatisation
-
Connectez-vous à votre Jenkins serveur sur le port 8080 à l'aide de votre navigateur préféré pour accéder à l'interface de gestion.
-
Saisissez le mot de passe trouvé dans
/var/lib/jenkins/secrets/initialAdminPassword
. Pour afficher le mot de passe, exécutez la commande suivante.sudo cat /var/lib/jenkins/secrets/initialAdminPassword
-
Le script Jenkins d'installation vous dirige vers la Jenkins page Personnaliser. Sélectionnez Install suggested plugins (Installer les plug-ins suggérés).
-
Une fois l'installation terminée, choisissez Administrator Credentials, sélectionnez Enregistrer les informations d'identification, puis sélectionnez Commencer à utiliser Jenkins.
-
Dans le volet de navigation de gauche, choisissez Manage Jenkins, puis Manage Plugins.
-
Cliquez sur l'onglet Available (Disponible), puis saisissez
Amazon EC2 plugin
. -
Sélectionnez la case à cocher pour
Amazon EC2 plugin
, puis sélectionnez Install without restart (Installer sans redémarrer). -
Une fois l'installation terminée, sélectionnez Go back to the top page (Revenir à la page supérieure).
-
Choisissez Gérer Jenkins, puis sélectionnez Gérer les nœuds et les clouds.
-
Dans la section Configurer les clouds, sélectionnez Ajouter un nouveau cloud, puis choisissez Amazon EC2.
-
Saisissez vos informations dans les champs restants. Assurez-vous de sélectionner l'option Utiliser le profil d'EC2instance pour obtenir des informations d'identification.
Utilisez la procédure suivante pour configurer votre Jenkins projet afin d'invoquer Automation.
Pour configurer votre Jenkins serveur afin d'invoquer Automation
-
Ouvrez la Jenkins console dans un navigateur Web.
-
Sélectionnez le projet que vous voulez configurer avec Automation, puis sélectionnez Configure.
-
Dans l'onglet Build, sélectionnez Add Build Step.
-
Sélectionnez Execute shell ou Execute Windows batch command (en fonction de votre système d'exploitation).
-
Dans le champ Commande, exécutez une AWS CLI commande comme suit. Remplacez chacun
example resource placeholder
avec vos propres informations.aws ssm start-automation-execution \ --document-name
runbook name
\ --regionRégion AWS of your source AMI
\ --parametersrunbook parameters
L'exemple de commande suivant utilise le UpdateMyLatestWindowsAmirunbook et le paramètre Systems Manager
latestAmi
créés dansMettez à jour un golden AMI à l'aide de l'automatisation AWS Lambda, et Parameter Store.aws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region
region
DansJenkins, la commande ressemble à l'exemple de la capture d'écran suivante.
-
Dans le Jenkins projet, choisissez Build Now. Jenkinsrenvoie une sortie similaire à celle de l'exemple suivant.