jenkins--pipeline使用简单举例

配置启动docker

~]# curl -o /etc/yum.repos.d/docker.repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
~]# curl -o /etc/yum.repos.d/CentOS-Base.repo  https://mirrors.aliyun.com/repo/Centos-7.repo
[root@jenkins ~]# yum -y install docker-ce-19.03.7-3.el7
[root@jenkins ~]# vim  /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
[root@jenkins ~]# systemctl daemon-reload
[root@jenkins ~]# systemctl restart docker
[root@jenkins ~]# vim /etc/sysctl.d/k8s.conf	
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
[root@jenkins ~]# modprobe br_netfilter
[root@jenkins ~]# sysctl --system

配置启动jenkins

[root@jenkins ~]# tar zxf jdk-8u45-linux-x64.tar.gz 
[root@jenkins ~]# mv jdk1.8.0_45 /usr/local/jdk
[root@jenkins ~]# tar zxf apache-maven-3.5.0-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.5.0 /usr/local/maven
[root@jenkins ~]# docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root  -v /opt/jenkins_home:/var/jenkins_home  -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker  -v /usr/local/maven:/usr/local/maven  -v /usr/local/jdk:/usr/local/jdk -v /etc/localtime:/etc/localtime --restart=always jenkins/jenkins:2.328
[root@jenkins ~]# cat /opt/jenkins_home/secrets/initialAdminPassword
98db0051fb214e6b8f59623ad5870528

流水线试用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pipeline语法的试用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过git仓库控制pipeline脚本版本

[root@git ~]# mkdir git/myproject/
[root@git ~]# git --bare init git/myproject/
[root@web ~]# git clone root@192.168.1.18:/root/git/myproject/
[root@web ~]# cd myproject/
[root@web myproject]# ls
[root@web myproject]# echo 'building...' > pipeline-v1
[root@web myproject]# git add .
[root@web myproject]# git commit -m "v1"
[root@web myproject]# git push origin master

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时你只需要修改代码仓里的pipeline-v1里的信息再提交,就可以完成修改后的构建
你也可以创建别的文件提交,然后修改pipeline里的配置实现,修改后的构建

[root@web myproject]# cp pipeline-v1 pipeline-v2
[root@web myproject]# vim pipeline-v2   #修改为echo '22222building...'
[root@web myproject]# git add .
[root@web myproject]# git commit -m "v2"
[root@web myproject]# git push origin master

在这里插入图片描述
在这里插入图片描述

定义pipeline执行的节点

[root@web myproject]# cat pipeline-v2
node ('web'){
def mvnHome
[root@web myproject]# git add .
[root@web myproject]# git commit -m "v2"
[root@web myproject]# git push origin master

在这里插入图片描述
在这里插入图片描述

jenkins双向备份;高可用部署;

1、通过keepalived实现jenkins主备,一个虚拟IP后面两个物理IP。
2、通过inotify+rsync实现master的jobs目录、workspace(可以不同步)同步到slave上的jobs、workspace,这样切换到slave的jenkins,才能保证任务是是相同的。
务必保持两个Jenkins版本是相同的,不然容易出现Jenkins插件兼容性问题。
后来把整个Jenkins目录都备份了,查看yum安装的jenkins安装目录为/var/lib/jenkins,把这个目录都备份后,从主jenkins切换到备jenkins后,用户感知到的前端是完全相同的,其中包括每个Jobs的配置,slave节点配置,Jenkins的全局配置等等,其实就是同一个Jenkins,这样保持了主备的一致性。对主jenkins的一些更改,自然同步到备jenkins上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值