Jenkins之Pipeline代码流水线

Pipeline翻译过来就是流水线的意思,在公司中可能会有不少项目,若是使用Jenkins构建完成后,开发构建项目须要一项一项点击,比较麻烦,所以,pipeline就应用而生了 。web

1、部署Pipeline——代码流水线管理

Jenkins部署及其余服务部署可参考博文:持续集成之代码质量管理———Sonar

另外咱们再开一台测试端
一、Jenkins服务器操做以下(配置免密登陆及对Jenkins的用户配置受权):bash

执行命令主要涉及的是权限问题,咱们要搞明白,jenkins 是以什 么权限来执行命令的。那么问题来了,咱们如今 192.168.171.134 上,若是在想 192.168.171.135 上执行命令。须要怎么作呢?
咱们作无秘钥有 2 种分案:
1)使用 jenkins 用户将秘钥分发给 192.168.171.135 上
2)使用 root 用户将秘钥分发给 192.168.171.135 上,若是使用 root 用户还要进 行 visudo 受权。由于 Web 上默认执行命令的用户是 jenkins 服务器

这里咱们使用第二种ssh

[root@jenkins /]# ssh-copy-id root@192.168.171.135        # 将公钥发送到测试端
[root@jenkins /]# visudo       # 受权
root    ALL=(ALL)       ALL         #在root用户的受权下写入如下内容
jenkins     ALL=(ALL)   NOPASSWD:/usr/bin/ssh

二、Jenkins的web页面添加pipeline插件ide

依次点击:系统管理==>>插件管理==>>点击高级
下载我提供的插件(提取码: 9rak),按照编号依次上传至Jenkins测试

Jenkins之Pipeline代码流水线
三、新建任务
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
在下面输入要执行的命令,这里输入一个测试命令“sudo ssh root@192.168.171.135 source /etc/init.d/test.sh”
Jenkins之Pipeline代码流水线
在测试端编写对应的脚本并测试:插件

[root@test /]# cat > /etc/init.d/test.sh << EOF
> #!/bin/bash
> echo "hello world"
> EOF
[root@test /]# chmod +x /etc/init.d/test.sh 
#回到Jenkins服务器测试命令是否能够执行成功
[root@jenkins /]# sudo ssh root@192.168.171.135 source /etc/init.d/test.sh 
hello world

返回Jenkins的web主页面,点击以前建立的一个web1项目:
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
上面添加的构建后操做,做用是,当这个项目构建后,就会自动触发刚刚建立的pipeline项目。翻译

新建视图,更直观的测试两个项目的关系
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
Jenkins之Pipeline代码流水线
进行构建测试:code

如下是以前的,注意测试前和测试后的颜色对比,下面的颜色是没有关联构建的:
Jenkins之Pipeline代码流水线
执行RUN命令后,等构建完成后,刷新页面,便可看到以下:
Jenkins之Pipeline代码流水线
能够很明显的看到,新产生的视图两个颜色是一致的,说明关联成功了blog

相关文章
相关标签/搜索