我有一个shell脚本
================================================ ============
cd /var/lib/jenkins/workspace/SampleDevelopJob-services
find . -name pom.xml | xargs sed -i -e "/<dependencies>/,/'<\/dependencies>'/s/-SNAPSHOT//" -e "/scheduler-service-core/{n;}" -e "/scheduler-service-app/{n;}" -e "/scheduler-webapp/{n;}" -e "/auditcollection-core/{n;}" -e "/collection-grid-webapp</{n;}" -e "/audit-collection-app/{n;}"
================================================ ===========
这是什么,
它将扫描文件夹SampleDevelopJob-Server
及其所有子文件夹,然后找到文件pom.xml
。
所有pom.xml
都将被扫描并执行sed脚本,该脚本位于并删除了-SNAPSHOT字样
它将排除所有具有以下排除条件的标记:
scheduler-service-core
scheduler-service-app
scheduler-webapp
auditcollection-core
collection-grid-webapp
audit-collection-app
我已在Jenkins上配置了Git发布器,以将更改后的pom.xml
提交回gitlab存储库。
然后使用我们的出厂释放阶段进行释放
问题, 我需要在每次sprint结束时都应用此过程,并发布工件以进行回归测试。
我们有8个微服务及其相应的jenkins作业和gitlab回购。 我不能仅拥有8个工作来运行该脚本,如果我将其配置并配置在一个工作上,并且每次都需要替换gitlab存储库并进行替换,这很繁琐,我正在寻找一个自动化的流程来应用此脚本。
我要在不同的services/gitlab
回购中使用不同的词来排除。
我需要解析pom.xml,然后以某种方式在Jenkins上以自动化方式提交回gitlan。 任何想法?