View a markdown version of this page

Travailler avec l' CodeDeploy agent - AWS CodeDeploy

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.

Travailler avec l' CodeDeploy agent

État du déploiement de la version 2.0.x

La version 2.0.x de l' CodeDeploy agent est en cours de déploiement dans toutes les régions Régions AWS et n'est peut-être pas encore disponible dans toutes les régions. La version 2.0.0 est une mise à niveau optionnelle. Pour passer à la version 2.0.x à partir de toute ancienne révision, consultez. Installation de l' CodeDeploy agent

L' AWS CodeDeploy agent est un package logiciel qui, une fois installé et configuré sur une instance, permet à cette instance d'être utilisée dans CodeDeploy des déploiements.

AWS prend activement en charge la dernière version mineure de l' CodeDeploy agent. Pour la dernière version publiée, voirHistorique des versions de l' CodeDeploy agent.

Note

L' CodeDeploy agent n'est requis que si vous déployez sur une plateforme EC2/On-Premises informatique. L'agent n'est pas requis pour les déploiements qui utilisent la plateforme de calcul Amazon ECS ou AWS Lambda.

Un fichier de configuration est placé sur l'instance lorsque l'agent ∿ est installé. Ce fichier est utilisé pour spécifier la manière dont l'agent fonctionne. Ce fichier de configuration spécifie les chemins de répertoire et les autres paramètres AWS CodeDeploy à utiliser lorsqu'il interagit avec l'instance. Vous pouvez modifier certaines options de configuration dans ce fichier. Pour plus d'informations sur l'utilisation du fichier de configuration de l' CodeDeploy agent, consultezCodeDeploy référence de configuration de l'agent.

Pour plus d'informations sur l'utilisation de l' CodeDeploy agent, telles que les étapes d'installation, de mise à jour et de vérification des versions, consultezGestion des opérations des CodeDeploy agents.

Systèmes d'exploitation pris en charge par l' CodeDeploy agent

Systèmes d'exploitation Amazon EC2 AMI pris en charge

L' CodeDeploy agent a été testé sur les systèmes d'exploitation Amazon EC2 AMI suivants :

  • Amazon Linux 2023 (x86_64, aarch64)

  • Amazon Linux 2 (x86_64, aarch64)

  • Red Hat Enterprise Linux (RHEL) 8, 9, 10 (x86_64, aarch64)

  • Oracle Linux 8, 9, 10 (x86_64, aarch64)

  • Rocky Linux 9, 10 (x86_64, aarch64)

  • CentOS Stream 9, 10 (x86_64, aarch64)

  • SLES 15 (x86_64, aarch64)

  • Debian 11, 12, 13 (x86_64, aarch64)

  • Serveur Ubuntu 16.04 LTS, 18,04 LTS, 20,04 LTS, 22,04 LTS, 24,04 LTS, 25,04 LTS, 26,04 LTS (x86_64, aarch64)

  • Windows Server 2016, 2019, 2022, 2025 (x86_64)

Note

Les plates-formes suivantes ont été testées sur l' CodeDeploy agent version 2.0.x et versions ultérieures uniquement : Windows Server 2025, RHEL 10, Oracle Linux 8, 9, 10, Rocky Linux 9, 10, CentOS Stream 9, 10, SLES 15, Debian 11, 12, 13 et Ubuntu Server 24.04, 25.04, 26.04.

L' CodeDeploy agent est disponible en open source pour que vous puissiez l'adapter à vos besoins. Il peut être utilisé avec d'autres systèmes d'exploitation Amazon EC2 AMI. Pour plus d'informations, consultez le référentiel des CodeDeploy agents dans GitHub.

Systèmes d'exploitation locaux pris en charge

L' CodeDeploy agent a été testé sur les systèmes d'exploitation locaux suivants :

  • Windows Server 2016, 2019, 2022, 2025 (x86_64)

  • Red Hat Enterprise Linux (RHEL) 8, 9, 10 (x86_64, aarch64)

  • Oracle Linux 8, 9, 10 (x86_64, aarch64)

  • Rocky Linux 9, 10 (x86_64, aarch64)

  • CentOS Stream 9, 10 (x86_64, aarch64)

  • SLES 15 (x86_64, aarch64)

  • Debian 11, 12, 13 (x86_64, aarch64)

  • Serveur Ubuntu 16.04 LTS, 18,04 LTS, 20,04 LTS, 22,04 LTS, 24,04 LTS, 25,04 LTS, 26,04 LTS (x86_64, aarch64)

Note

Les plates-formes suivantes ont été testées sur l' CodeDeploy agent version 2.0.x et versions ultérieures uniquement : Windows Server 2025, RHEL 10, Oracle Linux 8, 9, 10, Rocky Linux 9, 10, CentOS Stream 9, 10, SLES 15, Debian 11, 12, 13 et Ubuntu Server 24.04, 25.04, 26.04.

L' CodeDeploy agent est disponible en open source pour que vous puissiez l'adapter à vos besoins. Il peut être utilisé avec d'autres systèmes d'exploitation d'instance sur site. Pour plus d'informations, consultez le référentiel des CodeDeploy agents dans GitHub.

Protocole de communication et port pour l' CodeDeploy agent

L' CodeDeploy agent communique en sortant via HTTPS via le port 443.

Lorsque l' CodeDeploy agent s'exécute sur une instance EC2, il utilise le point de terminaison des métadonnées EC2 pour récupérer les informations relatives à l'instance. Découvrez-en plus sur la limitation et l'octroi de l'accès au service des métadonnées d'instance.

Historique des versions de l' CodeDeploy agent

Vos instances doivent exécuter une version prise en charge de l' CodeDeploy agent. La version minimale actuellement prise en charge est 1.8.x.

Note

Nous vous recommandons d'utiliser la dernière version de l' CodeDeploy agent. Si vous rencontrez des problèmes, passez à la dernière version avant de contacter le AWS support. Pour plus d'informations sur la mise à niveau, consultezMettre à jour l' CodeDeploy agent.

État du déploiement de la version 2.0.x

La version 2.0.x de l' CodeDeploy agent est en cours de déploiement dans toutes les régions Régions AWS et n'est peut-être pas encore disponible dans toutes les régions. La version 2.0.0 est une mise à niveau optionnelle. Pour passer à la version 2.0.x à partir de toute ancienne révision, consultez. Installation de l' CodeDeploy agent

Le tableau suivant répertorie toutes les versions de l' CodeDeploy agent ainsi que les fonctionnalités et améliorations incluses dans chaque version.

Version Date de publication Détails

2.0.1

24 août 2026

Corrigé  : sous Windows, les chemins de AppSpec fichiers commençant par une barre oblique inverse (\) ou par plusieurs séparateurs (par exemple//my-folder) sont désormais résolus dans la révision, et non à la racine du lecteur.

Pour des exemples de source valeurs prises en charge, consultezAppSpec section « fichiers » (EC2/On-Premises déploiements uniquement).

2.0.0

15 juillet 2026

Modifié  : L' CodeDeploy agent existe désormais Rust-based et est livré sous la forme d'un seul binaire natif autonome. La dépendance à l'exécution de Ruby a été supprimée. Ruby n'est plus nécessaire pour installer ou exécuter l'agent. Le comportement de l'agent est compatible avec la version 1.8.x par défaut ; les fichiers de configuration existants, la AppSpec gestion, la sémantique du cycle de vie, la disposition sur disque et les résultats du déploiement restent inchangés, sauf indication contraire ci-dessous.

Ajouté  : prise en charge étendue des systèmes d'exploitation, y compris Windows Server 2025, RHEL 10 et Ubuntu Server 26.04, ainsi que des distributions Linux supplémentaires et des variantes ARM (aarch64). Pour la liste complète des plateformes testées avec cette version, consultezSystèmes d'exploitation pris en charge par l' CodeDeploy agent.

Ajouté  : une codedeploy-agent update commande pour la mise à jour automatique des agents à la demande.

Ajouté  : un port de commande local. Il s'agit d'une interface de gestion TCP optionnelle qui écoute uniquement l'adresse de bouclage (127.0.0.1) pour interroger l'état de l'agent et injecter des commandes localement. Il est désactivé par défaut et est activé avecenable_command_port.

Modifié  : la commande de déploiement local est désormais disponiblecodedeploy-agent deploy-local. La codedeploy-local commande reste disponible pour des raisons de rétrocompatibilité. Toutes les options de commande sont préservées et les chemins locaux, Amazon S3 (s3://) et les sources de GitHub bundle sont toujours pris en charge.

Modifié  : sous Linux, l'agent est géré par une unité systemd native (codedeploy-agent.service) ; le script SysV init.d n'est plus installé. systemctlUtilisez-le pour gérer l'agent.

Modifié (sécurité)  : la vérification des certificats TLS est toujours activée et les core dumps sont désactivés par défaut.

Ajouté  : paramètres de renforcement facultatifs que vous pouvez activer pour répondre à vos propres exigences de sécurité. Chaque paramètre est désactivé par défaut et vous activez ceux que vous souhaitez individuellement. Vous pouvez rejeter les ensembles contenant des liens symboliques, des traversées de chemins ou des autorisations dangereuses ; restreindre l'environnement des hooks d'événements du cycle de vie ; et restreindre les autorisations des répertoires d'agents et des fichiers journaux. Pour obtenir la liste complète, consultez CodeDeploy référence de configuration de l'agent.

Modifié  : le script d'installation en ligne de commande est désormais écrit en Bash (anciennement Ruby). Cela nécessite l'un curl ou l'autrewget.

Modifié  : Le script d'installation de la version 2.0.x est publié sous le latestv2/ préfixe dans les compartiments régionaux. aws-codedeploy-region-identifier Le latest/ préfixe continue de servir le script d'installation de la version 1.8.x.

Modifié  : publie AWS désormais la version 2.0.x en tant que package AWSCodeDeployAgentV2 Systems Manager Distributor. Le AWSCodeDeployAgent package continue de servir la version 1.8.x.

Supprimé  : le paramètre ssl_verify_peer de configuration et les clés ProcessManager de configuration Ruby.

Important  : aucun chemin de mise à jour automatique n'existe actuellement entre la version 1.8.x et la version 2.0.0. Pour effectuer la mise à niveau vers la version 2.0.0, installez-la avec le package AWSCodeDeployAgentV2 Systems Manager Distributor ou exécutez le latestv2/install script régional manuellement. Pour obtenir des instructions, veuillez consulter Installation de l' CodeDeploy agent.

1.8.1

3 février 2026

Corrigé  : correction d'un bogue sur le terminal S3.

Ajouté  : certificat Sectigo CA à la liste Windows CA.

1.8.0

31 juillet 2025

Modifié  : mise à niveau du package Ruby vers la version 3.2 dans l' CodeDeploy agent pour Windows.

1.7.1

14 novembre 2024

Modifié  : mise à jour des dépendances pour les correctifs de sécurité.

1.7.0

6 mars 2024

Ajouté  : un paramètre :disable_imds_v1: de configuration dans le fichier de configuration de l' CodeDeploy agent. Utilisez ce paramètre pour désactiver le retour à IMDSv1 lorsque des erreurs IMDSv2 se produisent. La valeur par défaut est false (active le repli). Pour plus d'informations, consultez la référence de configuration de CodeDeploy l'agent.

Ajouté  : prise en charge du système d'exploitation Red Hat Enterprise Linux 9 (RHEL 9).

Ajouté  : support pour les versions 3.1 et 3.2 de Ruby sur Ubuntu Server.

Corrigé  : L' CodeDeploy agent génère désormais une erreur conviviale si le fichier de configuration de l' CodeDeploy agent ne se charge pas.

Modifié  : mise à niveau de Ruby vers la version 2.7.8-1 dans l' CodeDeploy agent pour Windows.

1.6.0

30 mars 2023

Ajouté  : Support pour Ruby 3.1, 3.2.

Ajouté  : support pour Amazon Linux 2023.

Ajouté  : support pour Windows Server 2022.

Modifié  : le paramètre par défaut de verbose concerne désormais false les instances Windows Server. Pour continuer à imprimer les messages de débogage dans les fichiers journaux de Windows, vous devez verbose définir true sur.

Supprimé : support pour Windows Server 2016 et Windows Server 2012 R2.

Supprimé  : support pour Amazon Linux 2018.03.x.

1.5.0

3 mars 2023

Ajouté  : Support pour Ruby 3.

Ajouté  : Support pour Ubuntu 22.04.

Corrigé  : le redémarrage de l' CodeDeploy agent peu de temps après son démarrage entraînait le blocage de l'agent.

Modifié  : l' CodeDeploy agent échoue désormais lors du déploiement d'un hôte au démarrage de l'agent si le service de l'agent redémarre de manière inattendue lors de l'exécution d'un script hook. Ce correctif vous permet d'éviter d'attendre le délai de 70 minutes avant de réessayer un déploiement.

Avis d'obsolescence  : l' CodeDeploy agent 1.5.0 est la dernière version à prendre en charge Windows Server 2016 et Windows Server 2012 R2.

Supprimé : support de l' CodeDeployagent sur Ubuntu 14.04 LTS, Windows Server 2008 R2 et Windows Server 2008 R2 32 bits.

1.4.1

6 décembre 2022

Corrigé  : faille de sécurité liée à la journalisation.

Amélioration  : amélioration de la journalisation lors de l'interrogation de la commande host.

1.4.0

31 août 2022

Ajouté  : support pour Red Hat Enterprise Linux 8.

Ajouté  : prise en charge des longs chemins de fichiers sur l' CodeDeploy agent pour Windows. Pour activer les longs chemins de fichiers, vous devez définir la clé de registre Windows appropriée, puis redémarrer votre agent. Pour de plus amples informations, veuillez consulter Les longs chemins de fichier provoquent des erreurs « Aucun fichier ou répertoire de ce type ».

Corrigé  : Un problème lié à l'opération de décompression lorsque le disque était plein. L' CodeDeploy agent détecte désormais le code de sortie 50 du dézip indiquant un disque plein, supprime les fichiers partiellement extraits et déclenche une exception pour signaler un échec au CodeDeploy serveur. Le message d'erreur est visible sous la forme d'un message d'erreur lié à un événement du cycle de vie, et le déploiement au niveau de l'hôte s'arrête sans blocage ni expiration du délai.

Corrigé  : un problème qui provoquait l'échec de l'agent.

Corrigé  : Un problème à cause duquel les crochets expiraient en cas de situation de course extrême. Les hooks sans script se poursuivront désormais et ne provoqueront plus d'échecs ni de délais d'attente.

Modifié  : le update script du bin répertoire de l' CodeDeploy agent a été supprimé car il n'est plus utilisé.

Modifié  : l' CodeDeploy agent pour Windows Server intègre désormais Ruby 2.7.

Modifié  : de nouvelles variables d'environnement ont été ajoutées, à utiliser par les scripts hook en fonction de la source du bundle de déploiement (Amazon S3 ou GitHub).

Pour de plus amples informations, veuillez consulter Disponibilité des variables d'environnement pour les hooks.

Important

Avis d'obsolescence  : l' CodeDeployagent 1.4.0 est la dernière version qui inclura des programmes d'installation pour Windows Server 32 bits.

Avis d'obsolescence  : CodeDeploy l'agent 1.4.0 est la dernière version compatible avec Windows Server 2008 R2.

Supprimé  : prise en charge de l' CodeDeploy agent sur les AMI Amazon EC2 suivantes : Amazon Linux 2014.09, 2016.03, 2016.09 et 2017.03.

1.3.2

6 mai 2021

Important

CodeDeploy les adresses de l'agent 1.3.2 CVE-2018-1000201 qui affectent les hôtes Windows qui exécutent l'agent. La CVE cite ruby-ffi, qui est une dépendance de l'agent. CodeDeploy Si votre agent a été installé avec Amazon EC2 Systems Manager (SSM) et est configuré pour se mettre à jour automatiquement, aucune action n'est requise. Dans le cas contraire, une action est requise pour mettre à jour manuellement l'agent. Pour mettre à niveau l'agent, suivez les instructions de la rubrique Mettre à jour l' CodeDeploy agent sur Windows Server.

Corrigé  : problème lors de l'installation de l' CodeDeploy agent sur Ubuntu 20.04 et versions ultérieures.

Corrigé  : Un problème intermittent se produisait lors de l'extraction de fichiers compressés car les chemins relatifs n'étaient pas gérés correctement.

Ajouté  : support AWS PrivateLink et points de terminaison VPC pour les instances Windows.

Ajouté  : améliorations des AppSpec fichiers, comme décrit ci-dessous.

  • Vous pouvez désormais spécifier un nom de fichier personnalisé pour le AppSpec fichier lors de la création d'un déploiement local. Pour de plus amples informations, veuillez consulter Création d'un déploiement local.

  • Le AppSpec fichier peut désormais avoir une extension de .yaml fichier.

  • Vous pouvez désormais remplacer les fichiers déployés à l'aide d'un nouveau file_exists_behavior paramètre facultatif dans le AppSpec fichier. Pour de plus amples informations, veuillez consulter AppSpec section « fichiers » (EC2/On-Premises déploiements uniquement).

Mise à niveau  : utilise CodeDeploy désormais le AWS SDK pour Ruby 3.0.

1.3.1

22 décembre 2020

Correction  : problème de la version 1.3.0 qui empêchait les instances locales de démarrer.

1.3.0

10 novembre 2020

Important

Cette version est obsolète.

Corrigé  : Suppression d'un certificat expiré qui n'était plus utilisé.

Corrigé  : suppression du message d'invite du script de désinstallation de l'agent utilisé par AWS Systems Manager, ce qui facilitait la rétrogradation d'un hôte ou d'une flotte vers une version précédente de l'agent.

1.2.1

23 septembre 2020

Modifié  : AWS SDK pour Ruby dépendance améliorée de la v2 à la v3.

Ajouté  : Support pour IMDSv2. Inclut un retour silencieux vers IMDSv1 en cas d'échec des requêtes HTTP IMDSv2.

Modifié  : mise à jour des dépendances Rake et Rubyzip pour les correctifs de sécurité.

Corrigé  : Assurez-vous qu'un fichier PID vide renvoie l'état du fichier PID No CodeDeploy Agent Running et le nettoie au démarrage de l'agent.

1.1.2

4 août 2020

Ajouté  : support pour Ubuntu Server 19.10 et 20.04.

Remarque  : La version 19.10 a atteint sa date de fin de vie et n'est plus prise en charge par Ubuntu ou. CodeDeploy

Ajouté  : Améliorations de l'efficacité de la mémoire pour Linux et Ubuntu afin de libérer la mémoire réservée plus rapidement.

Ajouté  : compatibilité avec le « nettoyage silencieux » de Windows Server, qui empêchait parfois l'agent de répondre.

Ajouté  : Ignorez les répertoires non vides pendant le nettoyage pour éviter les échecs lors du déploiement.

Ajouté  : Support pour la zone AWS locale de Los Angeles (LA).

Ajouté  : extrayez AZ des métadonnées de l'instance pour assurer la compatibilité avec les zones AWS locales.

Ajouté  : Les utilisateurs peuvent désormais fournir leurs archives dans des sous-répertoires et ne sont pas tenus de les stocker dans le répertoire racine.

Ajouté  : détection d'un problème avec Rubyzip qui pourrait entraîner des fuites de mémoire. Mise à jour de la commande unzip pour essayer d'abord d'utiliser un utilitaire de décompression installé sur le système avant d'utiliser Rubyzip.

Ajouté  : :enable_auth_policy: en tant que paramètre de configuration de l'agent.

Modifié  : les avertissements de décompression sont désormais ignorés et les déploiements se poursuivront.

1.1.0

30 juin 2020

Modifié  : La gestion des versions de l' CodeDeployagent suit désormais la convention de gestion des versions standard de Ruby.

Ajouté : nouveau paramètre de commande d'installation et de mise à jour pour permettre l'installation d'une la version spécifique de l'agent à partir de la ligne de commande.

Supprimé : suppression de l' CodeDeploy agent Auto Updater pour Linux et Ubuntu. Pour configurer les mises à jour automatiques de l' CodeDeploy agent, voir Installer l' CodeDeploy agent à l'aide de AWS Systems Manager.

1.0.1.1597

15 novembre 2018

Amélioration  : CodeDeploy prend en charge Ubuntu 18.04.

Amélioration  : CodeDeploy prend en charge Ruby 2.5.

Amélioration  : CodeDeploy prend en charge les points de terminaison FIPS. Pour de plus amples informations sur les points de terminaison FIPS, veuillez consulter Présentation de FIPS 140-2. Pour les points de terminaison qui peuvent être utilisés avec CodeBuild, voir CodeDeploy Régions et points de terminaison.

1.0.1.1518

12 juin 2018

Amélioration  : correction d'un problème qui provoquait une erreur lorsque l' CodeDeploy agent était fermé alors qu'il acceptait des demandes de sondage.

Amélioration  : ajout d'une fonctionnalité de suivi des déploiements qui empêche la fermeture de l' CodeDeploy agent lorsqu'un déploiement est en cours.

Amélioration : Amélioration des performances lors de la suppression des fichiers.

1.0.1.1458

6 mars 2018

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Amélioration : Amélioration des validations de certificat pour prendre en charge un nombre plus important d'autorités approuvées.

Amélioration  : correction d'un problème qui provoquait l'échec de l'interface de ligne de commande locale lors d'un déploiement incluant un événement BeforeInstall du cycle de vie.

Amélioration  : correction d'un problème qui pouvait entraîner l'échec d'un déploiement actif lors de la mise à jour de l' CodeDeploy agent.

1.0.1.1352

16 novembre 2017

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Fonctionnalité  : introduction d'une nouvelle fonctionnalité permettant de tester et de déboguer un EC2/On-Premises déploiement sur une machine ou une instance locale sur laquelle l' CodeDeploy agent est installé.

1.0.1.1106

16 mai 2017

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Fonctionnalité : Introduction de la nouvelle prise en charge de la gestion des contenus dans un emplacement cible qui ne faisait pas partie de la révision de l'application depuis le déploiement réussi le plus récent. Les options de déploiement pour le contenu existant incluent désormais la conservation du contenu, le remplacement du contenu ou l'échec du déploiement.

Amélioration  : l' CodeDeploy agent a été rendu compatible avec la version 2.9.2 du AWS SDK pour Ruby (aws-sdk-core 2.9.2).

1.0.1.1095

29 mars 2017

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Amélioration  : prise en charge de l' CodeDeploy agent dans la région de Chine (Pékin).

Amélioration  : Puppet a été activé pour qu'il s'exécute sur des instances Windows Server lorsqu'il est invoqué par un hook d'événement du cycle de vie.

Amélioration: Amélioration de la gestion des untar opérations.

1.0.1.1067 6 janvier 2017

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Amélioration : révision de nombreux messages d'erreur afin de décrire plus précisément l'origine de l'échec du déploiement.

Amélioration  : correction d'un problème qui empêchait l' CodeDeploy agent d'identifier la révision d'application correcte à déployer lors de certains déploiements.

Amélioration : rétablissement de l'utilisation de pushd et popd avant et après l'opération untar.

1.0.1.1045 21 novembre 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Amélioration  : l' CodeDeploy agent a été rendu compatible avec la version 2.6.11 du AWS SDK pour Ruby (aws-sdk-core 2.6.11).

1.0.1.1037 19 octobre 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

L' CodeDeploy agent pour les instances Amazon Linux, RHEL et Ubuntu Server a été mis à jour avec les modifications suivantes. Pour les instances Windows Server, la dernière version reste la 1.0.1.998.

Amélioration : l'agent peut désormais déterminer quelle version de Ruby est installée sur une instance afin de s'en servir pour appeler le script codedeploy-agent.

1.0.1.1011.1 17 août 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Amélioration : suppression des modifications apportées par la version 1.0.1.1011 en raison de problèmes liés à la prise en charge du shell. Cette version de l'agent équivaut d'un point de vue fonctionnel à la version 1.0.1.998 publiée le 11 juillet 2016.

1.0.1.1011 15 août 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

L' CodeDeploy agent pour les instances Amazon Linux, RHEL et Ubuntu Server a été mis à jour avec les modifications suivantes. Pour les instances Windows Server, la dernière version reste la 1.0.1.998.

Fonctionnalité  : Ajout de la prise en charge de l'appel de l' CodeDeploy agent à l'aide du shell bash sur les systèmes d'exploitation sur lesquels le système d'initialisation systemd est utilisé.

Amélioration  : prise en charge activée de toutes les versions de Ruby 2.x dans l' CodeDeploy agent et dans le programme de mise à jour de l' CodeDeploy agent. Les CodeDeploy agents mis à jour ne dépendent plus uniquement de Ruby 2.0. (Ruby 2.0 est toujours requis pour les versions deb et rpm du programme d'installation de l' CodeDeploy agent.)
1.0.1.998 11 juillet 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Amélioration  : correction de la prise en charge de l'exécution de l' CodeDeploy agent avec des profils utilisateur autres que root. La variable nommée USER est remplacée par CODEDEPLOY_USER pour éviter les conflits avec les variables environnementales.

1.0.1.966 16 juin 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Fonctionnalité  : Ajout de la prise en charge de l'exécution de l' CodeDeploy agent avec des profils utilisateur autres que root.

Amélioration : Correction de la prise en charge pour spécifier le nombre de révisions d'application que vous voulez que l'agent CodeDeploy archive pour un groupe de déploiement.

Amélioration  : l' CodeDeploy agent a été rendu compatible avec la version 2.3 du AWS SDK pour Ruby (aws-sdk-core 2.3).

Amélioration  : correction de problèmes d' UTF-8 encodage lors des déploiements.

Amélioration : meilleure précision lors de l'identification des noms de processus.

1.0.1.950 24 mars 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Fonctionnalité : Ajout de la prise en charge du serveur proxy d'installation.

Amélioration  : mise à jour du script d'installation pour ne pas télécharger l' CodeDeploy agent si la dernière version est déjà installée.

1.0.1.934 11 février 2016

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Fonctionnalité : Introduction de la prise en charge pour spécifier le nombre de révisions d'application que vous voulez que l'agent CodeDeploy archive pour un groupe de déploiement.

1.0.1.880 11 janvier 2016

Remarque : Cette version n'est plus prise en charge et peut entraîner l'échec des déploiements.

Amélioration  : l' CodeDeploy agent a été rendu compatible avec la version 2.2 du AWS SDK pour Ruby (aws-sdk-core 2.2). La version 2.1.2 est encore prise en charge.

1.0.1.854 17 novembre 2015

Remarque : Cette version n'est plus prise en charge. Si vous utilisez cette version, vos déploiements peuvent échouer.

Fonctionnalité  : Ajout de la prise en charge de l'algorithme de SHA-256 hachage.

Fonctionnalité : Introduction de la prise en charge du suivi des versions dans les fichiers .version.

Fonctionnalité : Mise à disposition de l'ID de groupe de déploiement via l'utilisation d'une variable d'environnement.

Amélioration  : ajout de la prise en charge de la surveillance des journaux des CodeDeploy agents à l'aide d'Amazon CloudWatch Logs.

Pour obtenir des informations connexes, consultez les ressources suivantes :

Pour un historique des versions des CodeDeploy agents, consultez le référentiel Release sur GitHub.

Gérer le CodeDeploy processus

L' CodeDeploy agent utilise systemd pour gérer le processus de l'agent sur toutes les distributions Linux prises en charge.

Pour les versions 2.0.x et ultérieures, l'agent fournit uniquement une unité systemd native ()codedeploy-agent.service. Il n'y a pas de /etc/init.d/codedeploy-agent script. systemctlUtilisez-le pour gérer l'agent ou invoquez le binaire directement à l'aide destart, stoprestart, ou de status sous-commandes.

Pour les versions 1.8.x et antérieures, les distributions rpm et deb sont livrées avec des scripts de démarrage à l'adresse. /etc/init.d/codedeploy-agent Sur les systèmes qui prennent en charge systemd, l'utilisation de la service commande peut exécuter par inadvertance les scripts init.d au lieu de permettre à systemd de gérer le processus. Utilisez-le systemctl pour les opérations des agents afin d'éviter ce problème.

Pour gérer l' CodeDeploy agent, utilisez l'systemctlutilitaire suivant :

sudo systemctl start codedeploy-agent sudo systemctl stop codedeploy-agent sudo systemctl restart codedeploy-agent sudo systemctl status codedeploy-agent

Révision de l'application et nettoyage des fichiers journaux

L' CodeDeploy agent archive les révisions et les fichiers journaux sur les instances. L' CodeDeploy agent nettoie ces artefacts pour économiser de l'espace disque.

Journaux de déploiement des révisions d'applications  : vous pouvez utiliser l'option:max_revisions  : du fichier de configuration de l'agent pour spécifier le nombre de révisions de l'application à archiver en saisissant un entier positif. CodeDeploy archive également les fichiers journaux de ces révisions. Tous les autres sont supprimés, à l'exception du fichier journal du dernier déploiement réussi. Ce fichier journal est toujours conservé, même si le nombre de déploiements ayant échoué dépasse le nombre de révisions conservées. Si aucune valeur n'est spécifiée, CodeDeploy conserve les cinq révisions les plus récentes en plus de la révision actuellement déployée.

CodeDeploy journaux  : pour les instances Amazon Linux, Ubuntu Server et RHEL, l' CodeDeploy agent effectue une rotation des fichiers journaux dans le /var/log/aws/codedeploy-agent dossier. Le fichier journal fait l'objet d'une rotation à 00:00:00 (heure de l'instance) tous les jours, ou lorsque le fichier atteint 64 Mo, selon la première éventualité. Si une deuxième rotation a lieu le même jour, l'agent ajoute un suffixe numérique (par exemple,codedeploy-agent.20260715.1.log). L'agent supprime les fichiers journaux au bout de sept jours. Le modèle d'affectation de noms des fichiers journaux permutés est codedeploy-agent.YYYYMMDD.log.

Fichiers installés par l' CodeDeploy agent

L' CodeDeploy agent stocke les révisions, l'historique des déploiements et les scripts de déploiement dans son répertoire racine d'une instance. Le nom et l'emplacement par défaut de cet annuaire sont :

'/opt/codedeploy-agent/deployment-root'pour les instances Amazon Linux, Ubuntu Server et RHEL.

'C:\ProgramData\Amazon\CodeDeploy'pour les instances Windows Server.

Vous pouvez utiliser le paramètre root_dir dans le fichier de configuration de l' CodeDeploy agent pour configurer le nom et l'emplacement du répertoire. Pour de plus amples informations, veuillez consulter CodeDeploy référence de configuration de l'agent.

Ci-dessous figure un exemple de la structure du fichier et de l'annuaire sous l'annuaire racine. La structure suppose qu'il existe un nombre N de groupes de déploiement et que chaque groupe de déploiement comprend N déploiements.

|--deployment-root/ |-- deployment group 1 ID | |-- deployment 1 ID | | |-- Contents and logs of the deployment's revision | |-- deployment 2 ID | | |-- Contents and logs of the deployment's revision | |-- deployment N ID | | |-- Contents and logs of the deployment's revision |-- deployment group 2 ID | |-- deployment 1 ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log | |-- deployment 2 ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log | |-- deployment N ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log |-- deployment group N ID | |-- deployment 1 ID | | |-- Contents and logs of the deployment's revision | |-- deployment 2 ID | | |-- Contents and logs of the deployment's revision | |-- deployment N ID | | |-- Contents and logs of the deployment's revision |-- deployment-instructions | |-- [deployment group 1 ID]_cleanup | |-- [deployment group 2 ID]_cleanup | |-- [deployment group N ID]_cleanup | |-- [deployment group 1 ID]_install.json | |-- [deployment group 2 ID]_install.json | |-- [deployment group N ID]_install.json | |-- [deployment group 1 ID]_last_successful_install | |-- [deployment group 2 ID]_last_successful_install | |-- [deployment group N ID]_last_successful_install | |-- [deployment group 1 ID]_most_recent_install | |-- [deployment group 2 ID]_most_recent_install | |-- [deployment group N ID]_most_recent_install |-- deployment-logs | |-- codedeploy-agent-deployments.log

  • Les dossiers relatifs aux ID de groupes de déploiement représentent chacun de vos groupes de déploiement. Le nom d'un annuaire de groupes de déploiement est son ID (par exemple, acde1916-9099-7caf-fd21-012345abcdef). Un annuaire de groupe de déploiement abrite un sous-annuaire pour chaque tentative de déploiement dans ce groupe.

    Vous pouvez utiliser la commande batch-get-deployments pour trouver un identifiant de groupe de déploiement.

  • Les dossiers relatifs aux ID de déploiement représentent chacun des déploiements d'un groupe. Le nom d'un annuaire de déploiement est son ID. Chaque dossier contient les éléments suivants :

    • bundle.tar, un fichier compressé hébergeant le contenu de la révision de déploiement. Utilisez un utilitaire de décompression zip si vous souhaitez afficher la révision.

    • deployment-archive, un annuaire comportant le contenu de la révision de déploiement.

    • logs, un annuaire contenant un fichier scripts.log. Ce fichier répertorie le résultat de tous les scripts spécifiés dans le AppSpec fichier de déploiement.

    Si vous souhaitez rechercher le dossier d'un déploiement mais que vous ne connaissez pas son ID de déploiement ou son identifiant de groupe de déploiement, vous pouvez utiliser la AWS CodeDeploy console ou le AWS CLI pour les trouver. Pour de plus amples informations, veuillez consulter Afficher les détails CodeDeploy du déploiement.

    Le nombre maximal par défaut de déploiements pouvant être archivés dans un groupe de déploiements est cinq. Lorsque ce nombre est atteint, les déploiements ultérieurs écrasent l'archive la plus ancienne. Vous pouvez utiliser le paramètre max_revisions dans le fichier de configuration de l' CodeDeploy agent pour modifier la valeur par défaut. Pour de plus amples informations, veuillez consulter CodeDeploy référence de configuration de l'agent.

    Note

    SI vous souhaitez récupérer de l'espace de disque dur utilisé par les déploiements archivés, mettez à jour le paramètre max_revisions sur une valeur plus faible, comme 1 ou 2. Le déploiement suivant supprime les déploiements archivés afin que le nombre soit égal au nombre que vous avez spécifié.

  • deployment-instructions comporte quatre fichiers texte pour chacun des groupes de déploiement :

    • [ID du groupe de déploiement] -cleanup, un fichier texte contenant une version d'annulation de chaque commande exécutée lors d'un déploiement. Comme nom de fichier, citons par exemple acde1916-9099-7caf-fd21-012345abcdef-cleanup.

    • [Deployment Group ID]-install.json, un fichier JSON créé durant le déploiement le plus récent. Il contient les commandes exécutées durant le déploiement. Comme nom de fichier, citons par exemple acde1916-9099-7caf-fd21-012345abcdef-install.json.

    • [ID du groupe de déploiement] _last_successful_install, un fichier texte qui répertorie le répertoire d'archives du dernier déploiement réussi. Ce fichier est créé lorsque l' CodeDeploy agent a copié tous les fichiers de l'application de déploiement vers l'instance. Il est utilisé par l' CodeDeploy agent lors du prochain déploiement pour déterminer ApplicationStop les BeforeInstall scripts à exécuter. Comme nom de fichier, citons par exemple acde1916-9099-7caf-fd21-012345abcdef_last_successful_install.

    • [Deployment Group ID]_most_recent_install, un fichier texte qui répertorie le nom de l'annuaire d'archivage du déploiement le plus récent. Ce fichier est créé une fois que les fichiers du déploiement ont été téléchargés. Le fichier [ID du groupe de déploiement] _last_successful_install est créé après ce fichier, lorsque les fichiers téléchargés sont copiés vers leur destination finale. Comme nom de fichier, citons par exemple acde1916-9099-7caf-fd21-012345abcdef_most_recent_install.

  • deployment-logs comporte les fichiers journaux suivants :

    • Les fichiers codedeploy-agent.yyyymmdd.log sont créés pour chacun des jours au cours desquels un déploiement est exécuté. Chaque fichier journal comporte des informations sur les déploiements de la journée. Ces fichiers peuvent s'avérer utiles pour le débogage de problèmes, liés par exemple aux autorisations. Le fichier journal est initialement nommé codedeploy-agent.log. Le jour suivant, la date de ses déploiements est insérée dans le nom du fichier. Par exemple, si nous sommes aujourd'hui le 3 janvier 2018, les données sur l'ensemble des déploiements de la journée sont disponibles dans codedeploy-agent.log. Demain, le 4 janvier 2018, le fichier journal est renommé codedeploy-agent.20180103.log.

    • codedeploy-agent-deployments.log compile le contenu des fichiers scripts.log pour chaque déploiement. Les fichiers scripts.log sont hébergés dans le sous-dossier logs de chaque dossier Deployment ID. Les entrées de ce fichier sont précédées d'un ID de déploiement. Par exemple, « [d-ABCDEF123]LifecycleEvent - BeforeInstall » peut être écrit durant le déploiement avec un ID de d-ABCDEF123. Lorsque codedeploy-agent-deployments.log sa taille maximale est atteinte, l' CodeDeploy agent continue d'y écrire tout en supprimant l'ancien contenu.