一、前言
一、简介
1、什么是jenkins?
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中
二、jenkens安装
jenkens的安装
一、jenkens的安装
server12作为jenkens端
拥有三个文件,主文件下载连接https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
安装、启用
[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端口,需要密码
获取密码
[root@server12 mnt]# cat /var/lib/jenkins/secrets/initialAdminPassword
45316596cd314ef0b914cf100dae4b4b
输入密码后即可开始修改配置
先不要选择插件,因为没有更新国内的下载源,速度会很慢
直接选择使用admin账户继续
选择现在不要
进入后设置新密码,westos11
并且修改时区为亚洲上海
设置完成后需要重新输入密码
jenkins插件管理
更换镜像源
管理插件模块
选择高级选项,更换镜像站地址,下载插件更快
这里推荐一个命令可以测试国内镜像地址下载快慢
curl -sSL https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/speed-test.sh | bash
我这里ustc的速度最快,因此更改镜像下载地址为ustc
创建更新源文件,并给定权限
[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
对照网站,更改镜像拉取地址
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
然后可以下载中文插件
二、 结合gitlab建立任务
1、安装pipeline
Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施
2、安装gitlab
下载一个git插件,jenkins连接Gitlab代码仓库
3、Jenkins本机server2安装git工具
4、创建密钥、查看公钥
6、把公钥给gitlab,使jenkins可以调用gitlab
7、配置demo项目,在源码管理一栏添加私有仓库地址
8、添加证书凭据
9、使用ssh的方式,输入用户名称,
10、查看私钥
11、直接输入ssh产生的私钥(和给gitlab的公钥对应)
12、选择刚制作的证书,选择分支默认为master(与gitlab中一致)
选择触发器的类型为轮询,* * * * * 表示每分钟查看一次gitlab的代码变化,执行的命令就先执行简单的查看
一分钟后查看控制台输出正常
在/var/lib/jenkins/workspace就可以同步gitlab的文件
在server1更新仓库,新建一个index.html文件,添加提交上传
一分钟以后,server2就同步了
控制台也可以看到成功了
3、新建流水线项目
在gitlab中找到ssh克隆方式的连接