Fiche technique | |
---|---|
Fournisseur : | AWS |
Type de produit : | Service infonuagique |
Catégorie : | Déploiement automatisé |
Site Web : | https://aws.amazon.com/codedeploy/ |
AWS CodeDeploy
Le AWS CodeDeploy est un service permet d'effectuer des déploiements d'un dépôt de version (Git, GitHub, AWS CodeCommit,...) vers un ou plusieurs serveurs EC2 (VM). Il offre la possibilité de recréer une nouvelle machine virtuelles EC2 à chaque fois ou de copier le code dans un dossier spécifique et d'exécuter une série de commande au besoin.
Installation
Il est possible d'installer l'agent de AWS CodeDeploy sous AMI Amazon Linux à l'aide des commandes suivantes :
sudo yum update sudo yum install ruby sudo yum install wget cd /home/ec2-user wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install chmod +x ./install sudo ./install auto |
Version
Il est possible de vérifier l'agent de AWS CodeDeploy à l'aide des commandes suivantes selon les systèmes d'exploitation ou distribution :
AMI Amazon Linux ou RHEL | Ubuntu Server | Windows Server |
---|---|---|
sudo yum info codedeploy-agent | sudo dpkg -s codedeploy-agent | sc qdescription codedeployagent |
Déboguage
Le AWS CodeDeploy est très capricieux dans ses paramètres et la moins erreurs anodine provoquera un plantage du déploiement. Pour savoir pourquoi un problème s'est produit, il est possible de consulter le fichier de journal de bord en fonction de la plateforme :
Plateforme | Emplacement |
---|---|
Linux | /var/log/aws/codedeploy-agent/codedeploy-agent.log |
Windows | C:\ProgramData\Amazon\CodeDeploy\log\codedeploy-agent-log.txt |
Remarques
- ATTENTION ! Il ne faut jamais bloquer le port 443 en Outbound avec l'instance à déployer car même si l'agent est présent et fonctionne, il ne réussira pas à communiquer avec le dépôt de AWS CodeDeploy et écrire dans le journal de bord qu'un problème de communication SSL invalide s'est produit :
- Le message le plus classique d'erreur lors d'un déploiement est le suivant :
- Le mécanisme de remplacement total des instances EC2 (VM) par une nouvelle machine (Blue-Green) risque de s'avérer totalement incompatible avec des processus de cronjobs durant plusieurs heures. Ainsi, il pourrait empêcher qu'on cronjobs termine sa tâche et provoquer des dédoublements. Pour cette raison, il est préférable de ne pas remplacer une machine virtuelle effectuant des traitements de cronjobs et de choisir l'option pour déployer le code sur la machine virtuelle existante (In-place).
booting child: error during start or run: SystemExit - Stopping CodeDeploy agent due to SSL validation error |
The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems. |
Ce problème est due à un AutoScaling en double provoqué, soit par un code Health invalide retourné par l'instance EC2, ou un délai de déploiement trop court.