JenKins
jenkins官方文档:https://www.jenkins.io
Jenkins:
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
CI&CD:
- 持续集成注重将各个开发者的工作集合到一个代码仓库中,通常每天会进行几次, 主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。
- 持续交付的目的是最小化部署或发布过程中团队固有的摩擦, 它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成代码发布(理想情况下)。
- 持续部署是一种更高程度的自动化,无论何时代码有较大改动, 都会自动进行构建/部署。
环境
主机名 | ip |
---|---|
gitlab | 192.168.1.20 |
jenkins | 192.168.1.19 |
安装jenkins
1.下载jenkins
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.222-1.1.noarch.rpm
--2020-07-21 15:14:48-- https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.222-1.1.noarch.rpm
正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:66093056 (63M) [application/x-redhat-package-manager]
正在保存至: “jenkins-2.222-1.1.noarch.rpm”
100%[======================================>] 66,093,056 1018KB/s 用时 59s
2020-07-21 15:15:48 (1.06 MB/s) - 已保存 “jenkins-2.222-1.1.noarch.rpm” [66093056/66093056])
[root@jenkins ~]# yum -y install jenkins-2.222-1.1.noarch.rpm
2.修改配置文件
PS:jenkins的端口默认为8080,如果同gitlab在同一台主机时,需要修改端口
[root@jenkins ~]# vim /etc/sysconfig/jenkins
修改:
JENKINS_USER="root"
JENKINS_PORT="8081" //此处环境不在同一主机上 ,则不需要修改
[root@jenkins ~]# systemctl start jenkins
[root@jenkins ~]# systemctl enable jenkins
jenkins.service is not a native service, redirecting to /sbin/chkconfig.Executing /sbin/chkconfig jenkins on
3.登录jenkins
此处时间可能较长,请耐心等待!!当Jenkins准备好时,浏览器将自动重新加载。
4.输入密码,进入jenkinsweb页面
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
467c8503f0ee4e4ea592cd043e1a0847
PS:把上面查看到的复制到下面管理员密码框中,然后点继续。
5.选择安装插件
这里选择右上角的“X”,进入jenkinsWEB页面!
6.更改jenkins网页登录密码
右上角 >> admin点击下拉三角 >> Configure >> Password字段 >> 修改密码 >> save保存
案例(Jenkins关联gitlab)
- 服务器都关闭防火墙和SELinux。
下载插件(plugins)
[root@jenkins ~]# tar zxf jenkins-plugins.tar.gz
[root@jenkins ~]# cd plugins/
[root@jenkins plugins]# cp * /var/lib/jenkins/plugins/
cp: 略过目录"ace-editor"
cp: 略过目录"ant"
cp: 略过目录"antisamy-markup-formatter"
cp: 略过目录"apache-httpcomponents-client-4-api"
cp: 略过目录"authentication-tokens"
......
[root@jenkins plugins]# systemctl restart jenkins.service
1.创建项目
点击左上角logo >> 回到主页面 >> 选择新项目“New Item” >> 填写项目名 >> 选择项目类型“Freestyle project” >> save保存
2.配置git
配置项目 >> 源代码管理(Source Code Management) >>git >> 填写存储库网址(git@192.168.1.20:dev/benet.git) > >> 如果认证成功 >> save保存
GitLab:
3.开启项目
选择项目 >> 左侧选择“build now” >> 下面构建历史出现蓝色标志 >> 选择蓝色标志下拉列表 >> console output >> 输出执行过程
4.验证
PS:在jenkins服务器上查看/var/lib/jenkins/workspace目录,会有项目同名文件夹,保存git clone 的所有代码
[root@jenkins ~]# cd /var/lib/jenkins/workspace/
[root@jenkins workspace]# ls
项目1
[root@jenkins workspace]# cd 项目1/
[root@jenkins 项目1]# ls
new1.txt new2.txt new.txt