背景
为了使用配置文件自定义AWS的Elastic Beanstalk的新方法,我需要在.ebextensions
文件夹中提供YAML配置文件,并将其放在WAR文件结构的根目录下,然后将其部署到tomcat 。
我真的想避免将配置文件放在源代码库中,因为它具有特定于部署Web应用程序的OS的命令。我觉得这些配置文件不应该与Web应用程序的源代码相结合。
问题
现在问题是我需要获取此配置文件,包括.ebextensions
某种方式&然后在maven创建最终WAR文件之前将它们放在根目录中,准备部署。
由于我需要维护将配置文件放在特定文件夹中的目录结构,我只能提供一个zip文件,然后需要解压缩&然后通过maven放入WAR文件的根目录。
我的问题是,有没有办法通过maven自动执行此操作,或者我需要采取不同的方法。
答案 0 :(得分:2)
这帮助了我:http://www.jcabi.com/jcabi-beanstalk-maven-plugin/example-ebextensions.html
您也可以尝试:How to package a hidden folder inside the root of a WAR file, using SBT?
答案 1 :(得分:0)
我最终编写了一个在运行构建作业之前执行的shell脚本。如下,
# This set of of commands will fetch the EC2 customization commands from S3 & package it inside the WAR file which will be then deployed to the server.
pwd
ls -la
# Create "temp" directory to put the fetched configs in to.
mkdir -p temp
ls -la temp/
rm -rf temp/*
cd temp
# Fetch the configs
s3cmd sync -vrf s3://tanzchantz.cdn/resources/configuration/ebs/customize-webapps-container/ .
tree -afphug .
# Copy the configs in to webapp directory
cp -rv . ../webapps-main/src/main/webapp/
cd ..
ls -la webapps-main/src/main/webapp/