Jenkins 中如何一次构建多个项目
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 中如何一次构建多个项目相关推荐
- 在 Jenkins 中使用声明式 Pipeline 构建 Android 项目
Blue Ocean 是 Jenkins 推出的一套新的 UI,对比经典 UI 更具有现代化气息.2017 年 4 月 James Dumay 在博客上正式推出了 Blue Ocean 1.0. 兼容 ...
- Jenkins中构建时提示:Couldn‘t find any revision to build. Verify the repository and branch config
场景 Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目: Jenkins中安装Credentials Binding插件实现凭证管理与安装G ...
- Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目
场景 CentOS中Jenkins的下载.安装.配置与启动(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11649 ...
- Jenkins 中以构建 Tag 来实现版本管理
好的工具和流程能使我们事半功倍,而这个过程是不断迭代和演进的.关于这一块的内容,之前写过几篇文章: 在团队中使用GitLab中的Merge Request工作模式 敏捷下的需求和代码分支管理 不断进化 ...
- Jenkins 中定时任务构建
一般,在Jenkins中搭建项目完成后,项目可正常运行,基本都会进行定时任务的构建.特别是重要的接口,进行关键接口自动化的日常巡检 时,基本都会设置成定时任务,以方便每天,接口的自动化,可及时检查接口 ...
- 测试开发工程师成长日记010 - Jenkins中的CI/CD/CT(持续集成构建/持续交付/持续测试)
CI(Continuous integration,持续集成) CI(Continuous integration,中文意思是持续集成)是一种软件开发时间.持续集成强调开发人员提交了新代码之后,立刻进 ...
- jenkins和docker实现自动化构建部署
应用场景 程序员开发应用,开发后需要提交gitlub,然后从gitlab拉取代码,进行构建,发布到tomcat中然后发布看呈现效果,这样的工作是频繁反复的在进行的,浪费了程序员的大量时间,那么能不能把 ...
- jenkins中配置Ant
一.安装ant 官方主页http://ant.apache.org下载新版的ant. *下载对应的版本,解压到我们的硬盘. 二.配置环境变量 Window中设置ant环境变量: ANT_HOME ...
- python页面自动化测试代码覆盖率_Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...
requirments OS: Ubuntu 14.04+ Gitlab 8.1 + Jenkins 2.19.0 + 使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试). ...
最新文章
- 通过COS上传文件至腾讯云
- IDEA中的maven工程Java未被识别的解决方法
- python爬虫简单的添加代理进行访问
- mysql useing查询,MySQL数据库之多表查询using优化与案例
- web sqlite linux,基于嵌入式Linux和Sqlite的Web服务器的研究及应用
- ASP.NET MVC 5 学习教程:修改视图和布局页
- [导入]MsAjax Lib- Date.format 函数
- Android 快捷方式
- iOS直播集成和问题总结(阿里云直播)
- mysql自增序列nextval并发_[DB][MySql]关于取得自增字段的值、及@@IDENTITY 与并发性问题...
- mysql查看重复数据结构_mysql 数据库重复数据结构
- mysql触发器实例 update_mysql触发器实例说明
- Fresco按照宽高压缩图片的方法
- 《如何有效阅读一本书》:读再多书,不如先学会如何读书
- 我当程序员一天,就多陪你一天吧
- IPV6 邻居发现协议(NDP)
- 【Pytorch】rgb转lab颜色空间转换
- 自建ngrok服务支持https访问
- EndNote技巧 | Endnote导出文献
- C++练习题:计算standard_deviation
热门文章
- 安装python的第一个曲折
- hdu 5167 Fibonacci(预处理)
- 快手文档 - www.kuaishou.net
- 安装DNN4.6.2 source code出现的问题
- Openwrt配置ssh自动登录服务器socks5转发
- 3.2-3 tac、more
- GFS 分布式文件系统从入门到实践
- android api 相机,具有相机2 API的Android Lollipop上的ZSL功能
- php论坛怎么架设,论坛架设有诀窍 phpWind配置技巧三则
- c#怎么调用oracle存储过程,c# 调用oracle 存储过程、方法简易例子