Я настраиваю CodePipeline с помощью Elastic Beanstalk. Elastic Beanstalk должен развернуть файл войны в папке веб-приложений Tomcat. Но он развертывает файл войны в папке webapps / ROOT. Итак, я создал ниже сценарий server-update.config в папке .ebextensions, чтобы скопировать файл войны в папку webapps из webapps / ROOT /.
.ebextensions / server-update.config
container_commands:
copy_file:
command: sudo cp /var/lib/tomcat8/webapps/ROOT/test/* /var/lib/tomcat8/webapps/
leader_only: true
Вышеупомянутый код выполнен успешно. Ниже журнал.
[2016-04-18T14:06:30.939Z] INFO [1128] - [Application update code-pipeline-1460988338596-MyAppBuild-2d3bd0c0-62bc-4927-bd09-b04ba81e7c03@15/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_SampleEB/Command copy_file] : Starting activity...
[2016-04-18T14:06:30.973Z] INFO [1128] - [Application update code-pipeline-1460988338596-MyAppBuild-2d3bd0c0-62bc-4927-bd09-b04ba81e7c03@15/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_SampleEB/Command copy_file] : Completed activity.
Но ElasticBeanstalk очищает папку веб-приложений tomcat после выполнения файла .ebextensions (при внутреннем запуске /opt/elasticbeanstalk/hooks/appdeploy/enact/02clean.sh)
+ EB_APP_DEPLOY_BASE_DIR=/var/lib/tomcat8/webapps
+ rm -rf /var/lib/tomcat8/webapps/ROOT /var/lib/tomcat8/webapps/sampleapp.war
Я не знаю, как настроить мой скрипт для выполнения, наконец. Пожалуйста, помогите мне с вышеуказанным требованием.