在我继承的基础设施中,这些人使用jenkins和maven来构建jar和配置文件。
所以,jenkins检查了一些代码,然后maven构建了一些东西。然后Jenkins发布构建任务从mavens目标目录复制文件并将它们复制到"构建共享" (eeks),例如
来源
**/target/*.jar
目标
releases/env_name/project/lib
来源
**/target/classes/some-service.xml
目标
releases/env_name/project/conf
我敢说这不太理想。
在新的配置项目中,来自构建的罐子被部署到Nexus中。反过来,我然后使用maven rpm插件使用GAV构建RPM来识别打包的罐子。我还没有捕获配置文件。
我可以将配置文件发布到Nexus吗?是的他们很小,但仍然是文物。他们还有一个maven快照或发布坐标,可以适应我的版本。我没试过,但我想我可以在现有的RPM构建pom中添加一个部分,以便在运行mvn deploy时将所需的纯文本文件上传到Nexus。
某些文件需要在部署后进行修改以适应环境 - 这会进一步增加头痛。
定义RPM的poms的长度也会显着增长。如果我能确定这是正确的方法,那本身就不是问题。
问题:在多环境设置中,其他人如何管理jar和配置文件?
答案 0 :(得分:0)
既然你在问别人是怎么做的,我会说我的做法,在你的情况下可能适合或不适合。
QA/WEB
,QA/API
,然后是PROD/WEB
,PROD/API
。所以我不必为每台远程机器维护配置文件。[local_ip]
。当部署脚本将此文件推送到远程服务器时,它会知道用远程计算机的真实IP替换令牌