2017-01-09 5 views
0

Je suis en train de terminer quelques opérations après le déploiement sur AWS EB. J'ai ajouté mon .ebextensions au dépôt git et j'ai seulement un fichier 01_container_commands.config, il ne semble pas courir quand je queue le /var/log/eb-activity.log À un moment donné, il était en cours d'exécution et échouait sur la commande 05 énumérés ci-dessous, donc j'ai supprimé 05, mais maintenant il le fait pas courir du tout.AWS ElasticBeanstalk .ebextensions n'étant pas en cours d'exécution

container_commands: 
    01_user_permission: 
    command: /usr/sbin/usermod -a -G webapp ec2-user 
    02_remove_storage_directory: 
    command: rm -rf /var/app/current/storage 
    03_create_storage_directories: 
    command: mkdir /var/app/current/storage /var/app/current/storage/framework /var/app/current/storage/framework/session /var/app/current/storage/framework/views /var/app/current/storage/framework/cache 
    04_set_storage_permissions: 
    command: chmod -fR 755 /var/app/current/storage 
    05_copy_env_file 
    command: cp /var/app/current/.aws.env /var/app/current/.env 

Il semblerait qu'il n'exécute pas mes ebextensions, des idées que j'ai pu vérifier pour savoir pourquoi?

En note, j'ai essayé d'encapsuler mes commandes avec des guillemets, cela n'a pas semblé aider non plus.

Comme vous pouvez le voir ci-dessous, il n'y a tout simplement pas d'exécution du script.

[2017-01-09T19:59:09.615Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/AppDeployPreHook/12_update_permissions.sh] : Starting activity... 
[2017-01-09T19:59:20.431Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/AppDeployPreHook/12_update_permissions.sh] : Completed activity. Result: 
    ++ /opt/elasticbeanstalk/bin/get-config container -k app_user 
    + EB_APP_USER=webapp 
    ++ /opt/elasticbeanstalk/bin/get-config container -k app_base_dir 
    + EB_APP_BASE_DIR=/var/app 
    ++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir 
    + EB_APP_STAGING_DIR=/var/app/ondeck 
    ++ /opt/elasticbeanstalk/bin/get-config container -k app_logs_dir 
    + EB_APP_LOGS_DIR=/var/app/support/logs 
    + cd /var/app/ondeck 
    + chown -R webapp:webapp /var/app 
    + chown -R webapp:webapp /var/log/httpd 
    + '[' -f app/SymfonyRequirements.php ']' 
[2017-01-09T19:59:20.431Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/AppDeployPreHook] : Completed activity. Result: 
    Successfully execute hooks in directory /opt/elasticbeanstalk/hooks/appdeploy/pre. 
[2017-01-09T19:59:20.432Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/EbExtensionPostBuild] : Starting activity... 
[2017-01-09T19:59:21.040Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild] : Starting activity... 
[2017-01-09T19:59:21.040Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild] : Completed activity. 
[2017-01-09T19:59:21.075Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/EbExtensionPostBuild] : Completed activity. 
[2017-01-09T19:59:21.076Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/InfraCleanEbextension] : Starting activity... 
[2017-01-09T19:59:21.157Z] INFO [26612] - [Application update [email protected]/AppDeployStage0/InfraCleanEbextension] : Completed activity. Result: 
    Cleaned ebextensions subdirectories from /var/app/ondeck. 
[2017-01-09T19:59:21.157Z] INFO [26612] - [Application update [email protected]/AppDeployStage0] : Completed activity. Result: 
    Application update - Command CMD-AppDeploy stage 0 completed 
[2017-01-09T19:59:21.158Z] INFO [26612] - [Application update [email protected]/AppDeployStage1] : Starting activity... 
[2017-01-09T19:59:21.158Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployEnactHook] : Starting activity... 
[2017-01-09T19:59:21.158Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployEnactHook/01_flip.sh] : Starting activity... 
[2017-01-09T19:59:21.535Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployEnactHook/01_flip.sh] : Completed activity. Result: 
    ++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir 
    + EB_APP_STAGING_DIR=/var/app/ondeck 
    ++ /opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir 
    + EB_APP_DEPLOY_DIR=/var/app/current 
    + '[' -d /var/app/current ']' 
    + mv /var/app/current /var/app/current.old 
    + mv /var/app/ondeck /var/app/current 
    + nohup rm -rf /var/app/current.old 
[2017-01-09T19:59:21.535Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployEnactHook/99_reload_app_server.sh] : Starting activity... 
[2017-01-09T19:59:21.677Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployEnactHook/99_reload_app_server.sh] : Completed activity. Result: 
    Equivalent Upstart operations: start httpd, stop httpd, restart httpd, status httpd 
    Gracefully restarting httpd 
    [OK] 
[2017-01-09T19:59:21.677Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployEnactHook] : Completed activity. Result: 
    Successfully execute hooks in directory /opt/elasticbeanstalk/hooks/appdeploy/enact. 
[2017-01-09T19:59:21.678Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployPostHook] : Starting activity... 
[2017-01-09T19:59:21.678Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployPostHook/01_monitor_httpd_pid.sh] : Starting activity... 
[2017-01-09T19:59:22.168Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployPostHook/01_monitor_httpd_pid.sh] : Completed activity. Result: 
    + chmod 0755 /var/run/httpd 
    + /opt/elasticbeanstalk/bin/healthd-track-pidfile --proxy httpd 
[2017-01-09T19:59:22.168Z] INFO [26612] - [Application update [email protected]/AppDeployStage1/AppDeployPostHook] : Completed activity. Result: 
    Successfully execute hooks in directory /opt/elasticbeanstalk/hooks/appdeploy/post. 
[2017-01-09T19:59:22.169Z] INFO [26612] - [Application update [email protected]/AppDeployStage1] : Completed activity. Result: 
    Application version switch - Command CMD-AppDeploy stage 1 completed 
[2017-01-09T19:59:22.169Z] INFO [26612] - [Application update [email protected]/AddonsAfter] : Starting activity... 
[2017-01-09T19:59:22.169Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigLogRotation] : Starting activity... 
[2017-01-09T19:59:22.170Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigLogRotation/10-config.sh] : Starting activity... 
[2017-01-09T19:59:22.611Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigLogRotation/10-config.sh] :  Completed activity. Result: 
    Disabled forced hourly log rotation. 
[2017-01-09T19:59:22.612Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigLogRotation] : Completed activity. Result: 
    Successfully execute hooks in directory /opt/elasticbeanstalk/addons/logpublish/hooks/config. 
[2017-01-09T19:59:22.612Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigCWLAgent] : Starting activity... 
[2017-01-09T19:59:22.613Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigCWLAgent/10-config.sh] : Starting activity... 
[2017-01-09T19:59:22.923Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigCWLAgent/10-config.sh] : Completed activity. Result: 
    Log streaming option setting is not specified, ignore cloudwatch logs setup. 

    Disabled log streaming. 
[2017-01-09T19:59:22.923Z] INFO [26612] - [Application update [email protected]/AddonsAfter/ConfigCWLAgent] : Completed activity. Result: 
    Successfully execute hooks in directory /opt/elasticbeanstalk/addons/logstreaming/hooks/config. 
[2017-01-09T19:59:22.923Z] INFO [26612] - [Application update [email protected]/AddonsAfter] : Completed activity. 
[2017-01-09T19:59:22.924Z] INFO [26612] - [Application update [email protected]] : Completed activity. Result: 
    Application update - Command CMD-AppDeploy succeeded 
+0

Comment le déployez-vous dans EB? – pgratton

+0

J'utilise les outils CLI '' 'eb deploy''', le déploiement fonctionne bien, mais le fichier de configuration n'est exécuté que de temps en temps et pas tout le temps à chaque déploiement. Plus récemment, il semble avoir juste cessé d'exécuter tous ensemble. –

Répondre

0

Par the documentation, vos commandes doivent être entre guillemets doubles, comme ci-dessous. Vous avez également manqué un deux-points après 05_copy_env_file.

Je sais que vous avez dit que vous avez essayé la double-citation, mais pouvez-vous réessayer après avoir corrigé à la fois le guillemet et le deux-points? Merci de mettre à jour votre question avec votre nouveau fichier 01_container_commands.config et l'intégralité du fichier /var/log/eb-activity.log. Merci!

container_commands: 
    01_user_permission: 
    command: "/usr/sbin/usermod -a -G webapp ec2-user" 
    02_remove_storage_directory: 
    command: "rm -rf /var/app/current/storage" 
    03_create_storage_directories: 
    command: "mkdir /var/app/current/storage /var/app/current/storage/framework /var/app/current/storage/framework/session /var/app/current/storage/framework/views /var/app/current/storage/framework/cache" 
    04_set_storage_permissions: 
    command: "chmod -fR 755 /var/app/current/storage" 
    05_copy_env_file: 
    command: "cp /var/app/current/.aws.env /var/app/current/.env" 
+0

J'avais essayé avec et sans devis .. Ce n'était pas le problème, même après avoir réparé ceux qui ne fonctionnaient pas. La raison en est que j'avais besoin de faire ce truc "post-déploiement" qui n'est pas vraiment documenté, cet article est ce qui a fait que les choses commencent à marcher pour moi. http://junkheap.net/blog/2013/05/20/elastic-beanstalk-post-deployment-scripts/ –

+1

C'est bon de savoir que ça marche! Je souhaite qu'AWS soutienne officiellement la technique du "post-déploiement", mais comme vous l'avez constaté, cela fonctionne très bien. Cela étant dit, votre étape '01_user_permission' devrait fonctionner correctement comme une routine' container_command' car elle n'affecte pas '/ var/app/current'. – Brian