Je suis en train de configurer CodePipeline en utilisant Elastic Beanstalk. Elastic Beanstalk doit déployer le fichier war dans son dossier webapps de Tomcat. Mais il déploie le fichier war dans le dossier webapps/ROOT. J'ai donc créé ci-dessous le script server-update.config dans .ebextensions dossier pour copier le fichier war dans le dossier webapps depuis webapps/ROOT /.Elastic Beanstalk: configuration .ebextensions exécutée et supprimée
.ebextensions/serveur update.config
container_commands:
copy_file:
command: sudo cp /var/lib/tomcat8/webapps/ROOT/test/* /var/lib/tomcat8/webapps/
leader_only: true
code ci-dessus est exécuté avec succès. Voici le journal.
[2016-04-18T14:06:30.939Z] INFO [1128] - [Application update code-pipelin[email protected]15/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_SampleEB/Command copy_file] : Starting activity...
[2016-04-18T14:06:30.973Z] INFO [1128] - [Application update code-pipelin[email protected]15/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_SampleEB/Command copy_file] : Completed activity.
Mais ElasticBeanstalk nettoie le dossier tomcat webapps après exécution du fichier .ebextensions (lors de l'exécution /opt/elasticbeanstalk/hooks/appdeploy/enact/02clean.sh interne)
+ EB_APP_DEPLOY_BASE_DIR=/var/lib/tomcat8/webapps
+ rm -rf /var/lib/tomcat8/webapps/ROOT /var/lib/tomcat8/webapps/sampleapp.war
Je ne sais pas comment pour configurer mon script pour qu'il s'exécute enfin. S'il vous plaît, aidez-moi avec les exigences ci-dessus.
l'ordre est important: container_commands, packages, services, fichiers –