Jenkins介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
jenkins就是基于Java开发的一种持续集成的工具
可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且可以也可以实现和gitlab、github交互,也可以实现自动编译、部署程序。
持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。
每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续集成:Continuous Intergration (CI)
持续交付:Continuous Delivery(CD)
持续部署:Continuous Deployment(CD)
集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。
持续集成(CI)流程
1. 提交(git)
2. 测试
3. 构建(jenkins)
4. 测试
5. 部署(ansible,shell,puppet)
6. 回滚(ansible)
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
jenkins就是基于Java开发的一种持续集成的工具
可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且可以也可以实现和gitlab、github交互,也可以实现自动编译、部署程序。
持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。
每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续集成:Continuous Intergration (CI)
持续交付:Continuous Delivery(CD)
持续部署:Continuous Deployment(CD)
集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。
持续集成(CI)流程
1. 提交(git)
2. 测试
3. 构建(jenkins)
4. 测试
5. 部署(ansible,shell,puppet)
6. 回滚(ansible)
安装部署jenkins:http://pkg.jenkins.io/ #到该网站下载你想要的jenkins对应版本。
jenkins基于java开发,因此需要安装java环境
yum install java -y
[root@centos ~]# ls | grep jenkins
jenkins-2.138.3-1.1.noarch.rpm
[root@centos ~]# rpm -ivh jenkins-2.138.3-1.1.noarch.rpm
jenkins监听的是8080端口
vim /etc/sysconfig/jenkins
更改JENKINS_USER="root"
systemctl restart jenkins
然后浏览器访问ip+port即可进入安装界面。
[root@centos ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
f10ee04f771042638d1c152355efc8c8
将管理员密码复制到提示框
然后下一步,跳过插件安装,然后创建你的用户和密码。
最后保存配置,选择系统管理——>插件管理
手动下载插件,然后安装: #http://updates.jenkins-ci.org/ 找到你jenkins对应的版本,下载插件。
[root@centos ~]# tar xf plugins-2.138.3.tar.gz
[root@centos ~]# cp plugins/* /var/lib/jenkins/plugins/ -a
jenkins基于java开发,因此需要安装java环境
yum install java -y
[root@centos ~]# ls | grep jenkins
jenkins-2.138.3-1.1.noarch.rpm
[root@centos ~]# rpm -ivh jenkins-2.138.3-1.1.noarch.rpm
jenkins监听的是8080端口
vim /etc/sysconfig/jenkins
更改JENKINS_USER="root"
systemctl restart jenkins
然后浏览器访问ip+port即可进入安装界面。
[root@centos ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
f10ee04f771042638d1c152355efc8c8
将管理员密码复制到提示框
然后下一步,跳过插件安装,然后创建你的用户和密码。
最后保存配置,选择系统管理——>插件管理
手动下载插件,然后安装: #http://updates.jenkins-ci.org/ 找到你jenkins对应的版本,下载插件。
[root@centos ~]# tar xf plugins-2.138.3.tar.gz
[root@centos ~]# cp plugins/* /var/lib/jenkins/plugins/ -a
重启jenkins:
systemctl restart jenkins
然后进入web界面:系统管理——>插件管理 #发现已经有了已安装插件
systemctl restart jenkins
然后进入web界面:系统管理——>插件管理 #发现已经有了已安装插件
在jenkins创建一个项目,如test项目,实际上是在/var/lib/jenkins/workspace/下面创建了一个test目录,
如果要实现jenkins项目版本管理,那么需要下载git,将test目录初始化为git工作目录。
如果要实现jenkins项目版本管理,那么需要下载git,将test目录初始化为git工作目录。
Jenkins凭证介绍
有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等。
此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用。
通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定”Jenkins可用的应用程序功能区域。
一旦 Jenkins 管理员(即管理 Jenkins 站点的 Jenkins 用户)在 Jenkins 中添加/配置这些凭证,Pipeline 项目就可以使用凭证与这些第三方应用程序进行交互。
Jenkins 中保存的凭证可以用于:
任何适用于 Jenkins 的任何地方(即全局证书)
特定的 Pipeline 项目
特定的 Jenkins 用户
Jenkins凭证的创建
可以给gitlab创建一个凭证,用户是gitlab用户名,密码是gitlab密码,这样在调用git做持续集成的时候就可以直接使用该凭证了
创建凭证:进入你的jenkins的首页,点击左边栏的凭证——>系统——>全局凭证——>添加凭据——>填写gitlab的用户和密码
Jenkins的使用
Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署
待续........