一、jenkins简介
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括: 持续的软件版本发布/测试项目。 监控外部调用执行的工作。
持续集成:
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续集成:Continuous Intergration (CI)
持续交付:Continuous Delivery(CD)
持续部署:Continuous Deployment(CD)
集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。
持续集成流程:
- 提交(git)
- 测试
- 构建(jenkins)
- 测试
- 部署(ansible,shell,puppet)
- 回滚(ansible)
二、安装jenkins
1.安装前的准备
安装jenkins需要安装正确的java环境以支持jenkins的运行:
- 2.164(2019-02)及更新版本:Java 8或Java 11
- 2.54(2017-04)更新版本:Java 8
- 1.612(2015-05)及更新版本:Java 7
系统为centos7,我们选择redhat点击在里边找到你所需要的版本下载即可
这里我用的是:jenkins-2.138
2.安装
第一步:上传jenkins的rpm包并安装
[root@localhost ~]# yum -y install jenkins-2.138-1.1.noarch.rpm
第二步:安装java运行环境
yum -y install java-1.8.0
第三步:关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewall
[root@localhost ~]# setenforce 0
第四步:启动jenkins并查看端口8080
[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# ss -tnl | grep 8080
LISTEN 0 50 :::8080 :::*
第五步:访问192.168.30.164:8080
等待jenkins启动
查看管理员密码复制粘点击继续
第六步:web界面配置
1)点击推荐的插件会自动安装下载,如果网络不好请慎点
也可以去插件下载地址http://updates.jenkins-ci.org/下载所需版本插件及插件包
这里我们点击选择插件来安装
到这里我们看到选择这种方式也是有一些打钩的插件来供你安装,
那我们选择无不选择插件,稍后去直接安装准备好的插件压缩包。然后点击安装
直接点击保存并完成
第七步:插件安装
这里准备了插件包plugins-2.138.3.tar.gz直接拷贝到jenkins插件目录下/var/lib/jenkins/plugins/
[root@localhost ~]# ls | grep plugins
plugins-2.138.3.tar.gz
[root@localhost ~]# tar xf plugins-2.138.3.tar.gz
[root@localhost ~]# ls | grep plugins
plugins
plugins-2.138.3.tar.gz
[root@localhost ~]# cp plugins/* /var/lib/jenkins/plugins/ -a
第八步:重启jenkins,浏览器查看
第九步:创建gitlab的凭证