【项目实战24】持续集成与持续交付下——jenkins

一、前言

一、简介

1、什么是jenkins?
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
【项目实战24】持续集成与持续交付下——jenkins_第1张图片CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中
【项目实战24】持续集成与持续交付下——jenkins_第2张图片

二、jenkens安装

jenkens的安装
一、jenkens的安装
server12作为jenkens端
拥有三个文件,主文件下载连接https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
【项目实战24】持续集成与持续交付下——jenkins_第3张图片
安装、启用

[root@server12 mnt] rpm -ivh daemonize-1.7.7-1.el7.x86_64.rpm 
[root@server12 mnt] rpm jenkins-2.306-1.1.noarch.rpm
[root@server12 mnt] rpm jdk-8u171-linux-x64.rpm
[root@server12 mnt] systemctl enable --now jenkins

访问默认server2的8080端口,需要密码
【项目实战24】持续集成与持续交付下——jenkins_第4张图片
获取密码

[root@server12 mnt]# cat /var/lib/jenkins/secrets/initialAdminPassword
45316596cd314ef0b914cf100dae4b4b

【项目实战24】持续集成与持续交付下——jenkins_第5张图片
输入密码后即可开始修改配置
【项目实战24】持续集成与持续交付下——jenkins_第6张图片
先不要选择插件,因为没有更新国内的下载源,速度会很慢
【项目实战24】持续集成与持续交付下——jenkins_第7张图片
直接选择使用admin账户继续
【项目实战24】持续集成与持续交付下——jenkins_第8张图片
选择现在不要
【项目实战24】持续集成与持续交付下——jenkins_第9张图片

进入后设置新密码,westos11
【项目实战24】持续集成与持续交付下——jenkins_第10张图片

并且修改时区为亚洲上海
【项目实战24】持续集成与持续交付下——jenkins_第11张图片

设置完成后需要重新输入密码
【项目实战24】持续集成与持续交付下——jenkins_第12张图片
jenkins插件管理
更换镜像源
管理插件模块

【项目实战24】持续集成与持续交付下——jenkins_第13张图片
选择高级选项,更换镜像站地址,下载插件更快
【项目实战24】持续集成与持续交付下——jenkins_第14张图片
这里推荐一个命令可以测试国内镜像地址下载快慢

curl -sSL https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/speed-test.sh | bash

我这里ustc的速度最快,因此更改镜像下载地址为ustc
【项目实战24】持续集成与持续交付下——jenkins_第15张图片
创建更新源文件,并给定权限

[root@server2 ~] mkdir /var/lib/jenkins/update-center-rootCAs 
[root@server2 ~] wget https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/rootCA/update-center.crt -O /var/lib/jenkins/update-center-rootCAs/update-center.crt 
[root@server2 ~] chown jenkins.jenkins -R /var/lib/jenkins/update-center-rootCAs 
[root@server2 ~] ll /var/lib/jenkins/update-center-rootCAs

【项目实战24】持续集成与持续交付下——jenkins_第16张图片
对照网站,更改镜像拉取地址
ustc:https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/ustc/update-center.json
腾讯:https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tencent/update-center.json
清华大学:https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tsinghua/update-center.json
阿里云:https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/aliyun/update-center.json
华为云:https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/huawei/update-center.json
【项目实战24】持续集成与持续交付下——jenkins_第17张图片
然后可以下载中文插件
【项目实战24】持续集成与持续交付下——jenkins_第18张图片
【项目实战24】持续集成与持续交付下——jenkins_第19张图片

【项目实战24】持续集成与持续交付下——jenkins_第20张图片

【项目实战24】持续集成与持续交付下——jenkins_第21张图片

二、 结合gitlab建立任务

1、安装pipeline
Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施
【项目实战24】持续集成与持续交付下——jenkins_第22张图片
2、安装gitlab
下载一个git插件,jenkins连接Gitlab代码仓库
【项目实战24】持续集成与持续交付下——jenkins_第23张图片
3、Jenkins本机server2安装git工具
【项目实战24】持续集成与持续交付下——jenkins_第24张图片
4、创建密钥、查看公钥
【项目实战24】持续集成与持续交付下——jenkins_第25张图片
【项目实战24】持续集成与持续交付下——jenkins_第26张图片
6、把公钥给gitlab,使jenkins可以调用gitlab
【项目实战24】持续集成与持续交付下——jenkins_第27张图片
7、配置demo项目,在源码管理一栏添加私有仓库地址
【项目实战24】持续集成与持续交付下——jenkins_第28张图片

【项目实战24】持续集成与持续交付下——jenkins_第29张图片
8、添加证书凭据
【项目实战24】持续集成与持续交付下——jenkins_第30张图片
9、使用ssh的方式,输入用户名称,
【项目实战24】持续集成与持续交付下——jenkins_第31张图片

10、查看私钥
【项目实战24】持续集成与持续交付下——jenkins_第32张图片
11、直接输入ssh产生的私钥(和给gitlab的公钥对应)
【项目实战24】持续集成与持续交付下——jenkins_第33张图片
12、选择刚制作的证书,选择分支默认为master(与gitlab中一致)
【项目实战24】持续集成与持续交付下——jenkins_第34张图片
选择触发器的类型为轮询,* * * * * 表示每分钟查看一次gitlab的代码变化,执行的命令就先执行简单的查看
【项目实战24】持续集成与持续交付下——jenkins_第35张图片
一分钟后查看控制台输出正常
【项目实战24】持续集成与持续交付下——jenkins_第36张图片
在/var/lib/jenkins/workspace就可以同步gitlab的文件
【项目实战24】持续集成与持续交付下——jenkins_第37张图片
在server1更新仓库,新建一个index.html文件,添加提交上传
【项目实战24】持续集成与持续交付下——jenkins_第38张图片
一分钟以后,server2就同步了
【项目实战24】持续集成与持续交付下——jenkins_第39张图片
控制台也可以看到成功了
【项目实战24】持续集成与持续交付下——jenkins_第40张图片

3、新建流水线项目
【项目实战24】持续集成与持续交付下——jenkins_第41张图片
【项目实战24】持续集成与持续交付下——jenkins_第42张图片
在gitlab中找到ssh克隆方式的连接
【项目实战24】持续集成与持续交付下——jenkins_第43张图片

你可能感兴趣的:(项目实战,jenkins)