一、 背景

如果只是简单的构建,jenkins自己默认的插件可以做,但是如果我们想要在构建过程中有更多功能,比如说:选择性构建、传参、项目指定变量等等其他功能,基础的参数化构建可以实现一些简单功能,但是要想使用更多功能这时候我们就需要借助参数化构建来实现交互的功能。此处我们来借助以下插件来进行实现:

1)Extended Choice Parameter(更丰富的参数化构建插件)

2)Git Parameter

二、Extended Choice Parameter

首先还是安装该插件,去管理插件里面进行安装

实例2-1         练习

1、点项目配置

2、参数化构建中选择我们刚刚安装过的插件

3、进行配置

这里这个branch我们就相当于给其当做一个变量,然后来为其进行传参。

4、构建这里选择执行shell进行测试

5、当我们再次选择构建时,可以发现刚才的一系列参数化配置已经生效

6、比如构建test02

我们可以发现控制台的输出也是成功了的

7、数据来源我们也可以选择文件

在jenkins所在服务器进行如下操作:

[root@jenkins ~]# vim /opt/jenkins.property   #建立一个文件
abc=t1,t2,t3,t4

web端配置:

进行测试:

构建前:(可以发现也是生效的)

构建后查看结果:(也是成功的)

三、Git Parameter

再用git时使用该插件是非常方便的。

3.1 安装此插件

3.2 进行配置

在配置之前我们先来说一个坑,当我们在配置git中写了远端地址后,会有如下报错:

这是因为jenkins我们yum装的运行用户是jenkins用户,此处是jenkins用户去git仓库进行拉取,而jenkins用户的话默认是/bin/false的,不但不能登录,也没有git命令权限,所以肯定是失败的。

解决此问题两种办法:

1)更改jenkins用户为root用户;

2)更改jenkins用户为正常的普通用户/bin/bash,将其的公钥加入到git服务器的git用户中。

此处暂时先用第一种解决办法,更改jenkins的运行用户为root用户,通过如下方式进行更改:

将/etc/sysconfig/jenkins文件由改为

然后再重启即可。

3.3 进行相关配置

配置git仓库

凭据这里有两种方式:

第一种:选择无

其实就是基于免秘钥的。

第二种:用户(其实就是git用户)

接下里这一步做的:

当我们构建时给我们一个选择列表,这个变量是代表分支。有哪些分支传递给这个变量。

3.4 进行构建

1、我们发现列表中已经有了可选的分支

2、构建成功

3、我们还可以新建一个分支,增添一些内容再来验证一下我们这个插件

[root@web app]# git branch
* master
[root@web app]# git branch test
[root@web app]# git checkout test
Switched to branch 'test'
[root@web app]# git branch
master
* test
[root@web app]# touch a
[root@web app]# git add .
[root@web app]# git commit -m "a"
[test c286460] a
file changed, insertions(+), deletions(-)
create mode a
[root@web app]# git push origin test
Counting objects: , done.
Compressing objects: % (/), done.
Writing objects: % (/), bytes | bytes/s, done.
Total (delta ), reused (delta )
To git@172.16.1.3:/home/git/repos/app.git
* [new branch] test -> test

jenkins构建查看:

可以发现已经有了我们新建的分支。

构建成功!!

Jenkins自动化CI CD流水线之3--参数化构建的更多相关文章

  1. Jenkins自动化CI CD流水线之1--介绍与安装

    第1章 大纲 CI/CD, DevOps介绍 Git安装与使用 Jenkins安装与使用 权限管理 参数化构建 Master-Slave 流水线(Pipeline) 邮件通知 应用案例 自动发布PHP ...

  2. Jenkins自动化CI&CD流水线

    1 环境说明 主机名称 IP cpu核数/内存/硬盘 安装软件 用途 controlnode 172.16.1.120 2/2/60 git 代码仓库 slavenode1 172.16.1.121 ...

  3. Jenkins自动化CI CD流水线之8--流水线自动化发布Java项目

    一.前提 插件:Maven Integration plugin 环境: maven.tomcat 用的博客系统代码: git clone https://github.com/b3log/solo. ...

  4. Jenkins自动化CI CD流水线之7--流水线自动化发布PHP项目

    一.前提 环境为:lnmp PHP项目:wordpress(此处我们下载一个wordpress的源码.将其模拟为我们的代码上传到我们的git仓库) 二.配置 1)创建job 2)参数化构建 3)配置p ...

  5. Jenkins自动化CI CD流水线之5--pipeline

    一.概览 二.安装 在对jenkins进行初始化安装时,默认已经安装了jenkins的相关插件,如下图所示: 三.实操 新建任务: 编写pipeline脚本: 我们可以借助流水线语法去做. test流 ...

  6. Jenkins自动化CI CD流水线之4--Master-Slave架构

    一.介绍 jenkins的Master-slave分布式架构主要是为了解决jenkins单点构建任务多.负载较高.性能不足的场景. Master/Slave相当于Server和agent的概念.Mas ...

  7. Jenkins自动化CI CD流水线之6--构建邮件状态通知

    一. 前提 前提: 服务器开启邮箱服务: 二. 基础配置 需要安装一个插件: 插件: Email Extension Plugin 进行配置: 系统管理->系统设置-> 相关配置如下图: ...

  8. Jenkins自动化CI CD流水线之2--用户权限管理

    一. 背景 针对开发.运维.测试针对不同角色进行不同权限划分, 基于插件: Role-based Authorization Strategy来实现. 一. 安装 安装该插件: 系统管理->管理 ...

  9. Docker: Jenkins与Docker的自动化CI/CD流水线实战

    什么是CI/CD 持续集成(Continuous Integration,CI):代码合并.构建.部署.测试都在一起,不断地执行这个过程,并对结果反馈.持续部署(Continuous Deployme ...

随机推荐

  1. 第2章 构建springboot工程 2-2 使用Spring官方STS搭建SpringBoot工程

    项目名demo,SpringBoot的版本2.0.6 删了/demo/mvnw和/demo/mvnw.cmd.static文件夹包含静态文件,比如CSS.JS.templates文件夹是放模板的,Sp ...

  2. Codeforces #499 Div2 E (1010C) Border

    一直第9个样例WA,发现事情没有这么简单的时候只剩20分钟了...... 看了一些大神提交的代码,发现还能这么玩..... 这个题目可以转化成这个问题:给一堆[0,m)之间的数,可以随意组合成新的数( ...

  3. ROS探索总结(四)——简单的机器人仿真

    前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了.接下来我们涉及到的很多例程都是<ROS by Example>这本书的内容,我是 ...

  4. Ros学习——创建ROS消息和ROS服务

    1.rosed rosed 是 rosbash 的一部分.利用它可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了. rosed默认的编辑器是vim.修改其他的,打开~/.b ...

  5. Cocos2d-x 网络编程

    主要介绍内容:Http协议,Socket协议,webSocket协议, Cocos2d-x中的相关类和方法 1 Http协议 HTTP协议也叫超文本传输协议.是互联网广泛使用的通信协议,常用于B/S架 ...

  6. 电脑安装unity3d有C盘逐渐爆满问题解决方案

    打开unity3d软件,Edit - Preference - GI Cache选中 Custom Cache Location,切换到别的盘,然后点击 Clean Cache清空一次,再查看C盘,存 ...

  7. Luogu 4388 付公主的矩形

    还是挺妙的. 发现对于一个$r$行$c$列的矩阵,穿过的格子数$n = r + c - gcd(r, c)$,题目中其实给定了这个$n$,要我们计算满足这个式子的$r$和$c$的个数. 发现$n$一定 ...

  8. oracle数据库之多表查询二

    多表查询解题思路: 1.分析题目要查询的结果涉及到那几张表 2.将每张表建立关联条件,否则会产生笛卡尔积 3.分清楚查询的条件,然后使用and将条件链接 4.涉及到分组查询的需要使用聚合函数 5.分组 ...

  9. [raspberry pi3] zram设置

    linux 3.15之后添加了个和mac一样的功能,内存压缩zram, 之前还有个zswap, zram通常是以模块的方式被放在系统里面的,以便在可以根据需求的不同,定制化加载. raspberry ...

  10. DjVu转PDF

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2009.09.22更新:2012.06.11针对PdfToy的新进展,更新了相关内容. 1 引言2 理论3 实现    3. ...