在詹金斯上的不同Jobs / Gitlabrepo / services上执行shell脚本

时间:2018-06-22 10:57:13

标签: shell jenkins automation

我有一个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;}"

================================================ ===========

这是什么,

  1. 它将扫描文件夹SampleDevelopJob-Server及其所有子文件夹,然后找到文件pom.xml

  2. 所有pom.xml都将被扫描并执行sed脚本,该脚本位于并删除了-SNAPSHOT字样

  3. 它将排除所有具有以下排除条件的标记:

    scheduler-service-core scheduler-service-app scheduler-webapp auditcollection-core collection-grid-webapp audit-collection-app

  4. 我已在Jenkins上配置了Git发布器,以将更改后的pom.xml提交回gitlab存储库。

  5. 然后使用我们的出厂释放阶段进行释放

问题, 我需要在每次sprint结束时都应用此过程,并发布工件以进行回归测试。

我们有8个微服务及其相应的jenkins作业和gitlab回购。 我不能仅拥有8个工作来运行该脚本,如果我将其配置并配置在一个工作上,并且每次都需要替换gitlab存储库并进行替换,这很繁琐,我正在寻找一个自动化的流程来应用此脚本。

我要在不同的services/gitlab回购中使用不同的词来排除。

我需要解析pom.xml,然后以某种方式在Jenkins上以自动化方式提交回gitlan。 任何想法?

0 个答案:

没有答案