jenkins实用插件1-Active Choices Plugin
如果用Jenkins中的 pipeline 的话,

这个可以用jenkins pipline语法帮忙生成,

1. 同时 build 多个 stage

stage('test') {build job: 'testPowerShell', parameters: [[$class: 'StringParameterValue', name: 'serviceNames', value: 'reveal,TestCert'],[$class: 'StringParameterValue', name: 'filelocation', value: 'D:\\serverlist.json'],[$class: 'StringParameterValue', name: 'groupNo', value: '0']]}stage('test2') {build job: 'testPowerShell', parameters: [[$class: 'StringParameterValue', name: 'serviceNames', value: 'reveal,TestCert'],[$class: 'StringParameterValue', name: 'filelocation', value: 'D:\\serverlist.json'],[$class: 'StringParameterValue', name: 'groupNo', value: '0']]}

2. 使用 parallel 平行处理

parallel(job1:{stage('testPowerShell') {build job: 'testPowerShell', parameters: [[$class: 'StringParameterValue', name: 'serviceNames', value: 'reveal,TestCert'],[$class: 'StringParameterValue', name: 'filelocation', value: 'D:\\serverlist.json'],[$class: 'StringParameterValue', name: 'groupNo', value: '0']]}},job2:{stage('TestCopy') {build job: 'TestCopy', parameters: [[$class: 'StringParameterValue', name: 'excludeFolders', value: 'D:\\Downloads\\NewReveal\\reveal.js-master\\test D:\\Downloads\\NewReveal\\reveal.js-master\\js']]}}
)

将多个 stage 视为同一个 node 会同时启动,会等待较长的 stage 完成后才统一返回结果

3. 在同一个 stage build 多个 job

有基础依赖的 job 先完成后再进行其他 job 的建置

只在 stage 2 传入多个 job 并使用 parallel build

def transformIntoStep(jobFullName) {return {build job: jobFullName,parameters: [string(name: 'Environ', value: 'QA')],quietPeriod: 3}
}stage('Step1') {build job: 'A01-TestDev', parameters: [[$class: 'StringParameterValue', name: 'serviceNames', value: 'reveal,TestCert'],[$class: 'StringParameterValue', name: 'filelocation', value: 'D:\\serverlist.json'],[$class: 'StringParameterValue', name: 'groupNo', value: '0']]
}
stage('Step2') {def branches = [: ]def jobs = "${buildjobs}".tokenize(',')def i = 0;for (jobName in jobs) {//println(jobName);branches["job${i}"] = transformIntoStep(jobName);i++;}//println(branches);parallel branches;}
stage('Step3') {build job: 'A01-TestDev', parameters: [[$class: 'StringParameterValue', name: 'serviceNames', value: 'reveal,TestCert'],[$class: 'StringParameterValue', name: 'filelocation', value: 'D:\\serverlist.json'],[$class: 'StringParameterValue', name: 'groupNo', value: '0']]
}

4.在Jenkins中安装插件

Manage Jenkins --> Manage Plugins,搜索 Extended Choice Parameter
选择 checkbox
Choose Source for Value
Groovy Script

def jobs = jenkins.model.Jenkins.instance.getJobNames()
def matchjobs = jobs.findAll{ name -> name =~/(public-cloud).*/ }
return matchjobs

转载于:https://www.cnblogs.com/flyhgx/p/8321341.html

Jenkins 中如何一次构建多个项目相关推荐

  1. 在 Jenkins 中使用声明式 Pipeline 构建 Android 项目

    Blue Ocean 是 Jenkins 推出的一套新的 UI,对比经典 UI 更具有现代化气息.2017 年 4 月 James Dumay 在博客上正式推出了 Blue Ocean 1.0. 兼容 ...

  2. Jenkins中构建时提示:Couldn‘t find any revision to build. Verify the repository and branch config

    场景 Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目: Jenkins中安装Credentials Binding插件实现凭证管理与安装G ...

  3. Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目

    场景 CentOS中Jenkins的下载.安装.配置与启动(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11649 ...

  4. Jenkins 中以构建 Tag 来实现版本管理

    好的工具和流程能使我们事半功倍,而这个过程是不断迭代和演进的.关于这一块的内容,之前写过几篇文章: 在团队中使用GitLab中的Merge Request工作模式 敏捷下的需求和代码分支管理 不断进化 ...

  5. Jenkins 中定时任务构建

    一般,在Jenkins中搭建项目完成后,项目可正常运行,基本都会进行定时任务的构建.特别是重要的接口,进行关键接口自动化的日常巡检 时,基本都会设置成定时任务,以方便每天,接口的自动化,可及时检查接口 ...

  6. 测试开发工程师成长日记010 - Jenkins中的CI/CD/CT(持续集成构建/持续交付/持续测试)

    CI(Continuous integration,持续集成) CI(Continuous integration,中文意思是持续集成)是一种软件开发时间.持续集成强调开发人员提交了新代码之后,立刻进 ...

  7. jenkins和docker实现自动化构建部署

    应用场景 程序员开发应用,开发后需要提交gitlub,然后从gitlab拉取代码,进行构建,发布到tomcat中然后发布看呈现效果,这样的工作是频繁反复的在进行的,浪费了程序员的大量时间,那么能不能把 ...

  8. jenkins中配置Ant

    一.安装ant 官方主页http://ant.apache.org下载新版的ant. *下载对应的版本,解压到我们的硬盘. 二.配置环境变量 Window中设置ant环境变量: ANT_HOME    ...

  9. python页面自动化测试代码覆盖率_Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...

    requirments OS: Ubuntu 14.04+ Gitlab 8.1 + Jenkins 2.19.0 + 使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试). ...

最新文章

  1. 通过COS上传文件至腾讯云
  2. IDEA中的maven工程Java未被识别的解决方法
  3. python爬虫简单的添加代理进行访问
  4. mysql useing查询,MySQL数据库之多表查询using优化与案例
  5. web sqlite linux,基于嵌入式Linux和Sqlite的Web服务器的研究及应用
  6. ASP.NET MVC 5 学习教程:修改视图和布局页
  7. [导入]MsAjax Lib- Date.format 函数
  8. Android 快捷方式
  9. iOS直播集成和问题总结(阿里云直播)
  10. mysql自增序列nextval并发_[DB][MySql]关于取得自增字段的值、及@@IDENTITY 与并发性问题...
  11. mysql查看重复数据结构_mysql 数据库重复数据结构
  12. mysql触发器实例 update_mysql触发器实例说明
  13. Fresco按照宽高压缩图片的方法
  14. 《如何有效阅读一本书》:读再多书,不如先学会如何读书
  15. 我当程序员一天,就多陪你一天吧
  16. IPV6 邻居发现协议(NDP)
  17. 【Pytorch】rgb转lab颜色空间转换
  18. 自建ngrok服务支持https访问
  19. EndNote技巧 | Endnote导出文献
  20. C++练习题:计算standard_deviation

热门文章

  1. 安装python的第一个曲折
  2. hdu 5167 Fibonacci(预处理)
  3. 快手文档 - www.kuaishou.net
  4. 安装DNN4.6.2 source code出现的问题
  5. Openwrt配置ssh自动登录服务器socks5转发
  6. 3.2-3 tac、more
  7. GFS 分布式文件系统从入门到实践
  8. android api 相机,具有相机2 API的Android Lollipop上的ZSL功能
  9. php论坛怎么架设,论坛架设有诀窍 phpWind配置技巧三则
  10. c#怎么调用oracle存储过程,c# 调用oracle 存储过程、方法简易例子