使用插件实现Jenkins参数化构建
一、插件安装
1、打开插件管理,在此界面可以安装插件

二、参数化
1、在“可选插件”中查找如下两个插件然后安装,安装后重启Jenkins
Build With Parameters 输入框式的参数 Persistent Parameter 下拉框式的参数

2、git参数化
1、勾选“参数化构建过程”
2、名称处输入名称,例如“branch_name”,输入描述

3、在源码管理git中将分支号改为参数“${branch_name}”

4、点击“Build with Parameters”发布,如下图输入你要发布的分支号然后点击“开始构建”则用你输入的这个分支号构建项目。

3、参数化发布(根据参数发布到不同服务器)
1、在可选插件中搜索 “Publish over SSH” ,并安装

2、添加待发布服务器(之后会将应用发布到这些机器上)
a)打开系统设置

b)移动到最下方,点击 ssh servers下的 “增加”

c)输入服务器信息后保存,注意输入密码是参照下图中的“高级”才能显示出来,点击test后如果显示成功即表示可以连通服务器。


3、添加参数,勾选“参数化构建过程”添加一个字符参数起个名字“server_env”这个名字用来接收你想发布的环境,这个名字需要跟后边对应上;

4、在构建环境中添加label,这个label和上边server_env变量中数据的内容相匹配如果匹配成功则会发布到这个环境中否则不发布,label选择需要点击“高级”按钮才能显示出来;

5、创建如下另外两台服务器;


6、点击“高级”设置Parameterized publishing 参数化发布

7、设置参数化发布变量“server_env”这个变量就是步骤1中输入的名称;

8、应用,点击“Build with Parameters”输入分支号输入要发布的服务器即可,如果想发布一台输入“prodA”如果一次想发布多台输入“prodA||prodB”依次类推;

三、显示用户名
1、在插件处查找 “user build vars” 插件并安装

可以使用如下用户变量:
| Property | Default |
|---|---|
| BUILD_USER | Full name (first name + last name) |
| BUILD_USER_FIRST_NAME | First name |
| BUILD_USER_LAST_NAME | Last name |
| BUILD_USER_ID | Jenkins user ID |
| BUILD_USER_EMAIL | Email address |
使用参考见:https://wiki.jenkins.io/display/JENKINS/Build+User+Vars+Plugin
2、在jenkins任务中使用构建变量:注意需要勾选 "Set jenkins user build variables."

参考文档:
https://www.cnblogs.com/honeybee/p/6525322.html
https://www.cnblogs.com/honeybee/p/6525322.html
https://baijiahao.baidu.com/s?id=1589219847663812987&wfr=spider&for=pc
https://wenku.baidu.com/view/3971a14faeaad1f347933f41.html
http://blog.sina.com.cn/s/blog_13cc013b50102wrjj.html
http://www.tothenew.com/blog/jenkins-parameterized-publishing/
https://blog.csdn.net/qq744746842/article/details/49668799
使用插件实现Jenkins参数化构建的更多相关文章
- Jenkins 利用Build With Parameters Plugin实现Jenkins参数化构建
利用Build With Parameters Plugin实现Jenkins参数化构建 by:授客 QQ:1033553122 测试环境 Build With Parameters Plugin ...
- Jenkins参数化构建(七)
一.配置参数化构建过程 主要用来区分分支,使用传参的方式,将分支名称传入脚本中进行拉取代码. 1.1 最常用的是:字符参数.文本参数. 1.2 添加字符参数和文本参数,并配置变量名称 1.3 配置 ...
- Jenkins参数化构建插件,实现构建前输入自定义参数
插件: [Build with Parameters]:https://wiki.jenkins-ci.org/display/JENKINS/Build+With+Parameters+Plugin ...
- jenkins参数化构建过程
http://www.cnblogs.com/meitian/p/5492457.html 1,首先增加Jenkisn插件 https://wiki.jenkins-ci.org/display/JE ...
- Jenkins参数化构建
背景:每次构建项目时都需要去修改一下配置,然后保存,再去立即构建.这样修改容易修改出错误,影响到执行脚本,且每次都要去修改配置,不容易修改,操作也比较麻烦.所以决定将Jenkins修改为参数化构建.下 ...
- Jenkins参数化构建Jenkins从文件中读取运行参数构建版本号
https://www.cnblogs.com/xiaochengzi/p/8251805.html 安装Extended Choice Parameter插件 选择‘参数化构建过程’ maven c ...
- Jenkins参数化构建--Git Parameter
由于我们在测试过程中,可能需要在多个测试环境跑用例,这个时候就需要jenkins参数化了. Jenkins参数化一般常用的有两种方式:Choice和String Parameter两种 (1)Choi ...
- Jenkins 参数化构建(Git Parameter)
由于我们在测试过程中,可能需要在多个测试环境跑用例,这个时候就需要jenkins参数化了. Jenkins参数化一般常用的有两种方式:Choice和String Parameter两种 (1)Choi ...
- jenkins参数化构建&HTML报告
背景: 每次构建项目时都需要去修改一下配置,然后保存,再去立即构建.这样修改容易修改出错误,影响到执行脚本,且每次都要去修改配置,不容易修改,操作也比较麻烦.所以决定将Jenkins修改为参数化构建. ...
随机推荐
- bzoj2755【SCOI2012】喵星人的入侵
输入格式 第一行为三个整数n,m,K,分别表示地图的长和宽,以及最多能放置的炮塔数量. 接下来的n行,每行包含m个字符,‘#’表示地图上原有的障碍,‘.’表示该处为空地,数据保证在原地图上存在S到T的 ...
- [POI2018]Powódź
Description 在地面上有一个水箱,它的俯视图被划分成了n行m列个方格,相邻两个方格之间有一堵厚度可以忽略不计的墙,水 箱与外界之间有一堵高度无穷大的墙,因此水不可能漏到外面.已知水箱内每个格 ...
- MySQL 第六篇:数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1O8hXkdRK5_EVHZwNPwjCB ...
- JavaScript演示下Singleton设计模式
单例模式的基本结构: MyNamespace.Singleton = function() { return {}; }(); 比如: MyNamespace.Singleton = (functio ...
- lumen 使用 laravel-cors 的时候, 使用 dd 函数的解决方法
if (! function_exists('dd')) { /** * Dump the passed variables and end the script. * * @param mixed ...
- 微信小程序退款 处理类
<?php /** * 微信小程序退款 处理类参考https://www.cnblogs.com/afei-qwerty/p/7922982.html * */ class WeixinRefu ...
- 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- vue+element 切换正式和测试环境
1.package.json { "name": "element-starter", "description": "A Vue ...
- 退役 AFO
noi滚粗了 D类没学校要 回去高考 此博客停止更新 此文章可能会继续更新 看心情 [upd 2017.11.13] 看完今年noip log级别数据结构终于出现辣! 看来noip以后又多了一大块考点 ...
- python的数字IP实现
第一种方法: import socket, struct >>> def ip2num(ip): ... return struct.unpack("!L", s ...