Jenkins持续集成
Jenkins持续集成工具
Jenkins功能包括:
1 持续的软件版本发布/测试项目
2 监控外部调用工具
3 jenkins就是基于Java开发的一种持续集成的工具
4 可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且可以也可以实现和gitlab、github交互,也可以实现自动编译、部署程序
什么是持续集成?
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续集成
持续集成:Continuous Intergration (CI)
持续交付:Continuous Delivery(CD)
持续部署:Continuous Deployment(CD)
集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。
持续集成流程
1. 提交(git)
2. 测试
3. 构建(jenkins)
4. 测试
5. 部署(ansible,shell,puppet)
6. 回滚(ansible)
Jenkins的安装:
第一步
打开版本网站,下载包
pkg.jenkins.io/rehat/
第二步
开启两台虚拟机,一台部署gitlab,一台部署jenkins
第三步
上传jenkis安装包至另一台虚拟机
第四步
安装
rpm –ivh 包名
第五步
安装 java 环境(不能用网络源下载,java版本高于Jenkis,两者不兼容)
第六步
启动
systectl restart Jenkins
第七步
浏览器访问安装jenkins端ip:8080
第八步
首先会提示你Jenkins是锁定状态,会提示你密码存在服务器上的目录,而后去服务器这个目录里,把密码粘贴过来即可。
第九步
安装插件
选择 select plugins to install,而后选择none
1 上传插件
2 移动插件包至Jenkins插件目录下
cd /var/lib/Jenkins
而后解压即可,在把解压后的都放出来至当前目录
3 重启Jenkins使插件生效
4 浏览器查看即可
Jenkins的凭证
有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等。
此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用。通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定”Jenkins可用的应用程序功能区域。一旦 Jenkins 管理员(即管理 Jenkins 站点的 Jenkins 用户)在 Jenkins 中添加/配置这些凭证,Pipeline 项目就可以使用凭证与这些第三方应用程序进行交互。
Jenkins 中保存的凭证可以用于:
1 任何适用于 Jenkins 的任何地方(即全局证书)
2 特定的 Pipeline 项目
3 特定的 Jenkins 用户
Jenkins凭证就是保存了用户名和密码。
Jenkins凭证创建
点击 credentials
选择 global
选择 add credentials
添加用户名和密码
Jenkins简单演示
1 点击新建
而后输入项目名称
2 选择构建一个自由风格的项目
3 而后在General里填写
构建选择 Execute shell
这里面直接写shell脚本即可
Jenkins项目
需求一 使用gitlab创建项目
需求二 使用ansible的roles实现一键化部署wordpress
每次部署需要备份之前的网站数据
使用roles
使用templates
脚本对网站监控检测
需求三 完成之后项目上传至gitlab
需求四 使用jenkins实现项目的持续集成
环境准备:
三台虚拟机
1 号机安装gitlab
2 号机安装jenkins git ansible
3 号机是被批量部署的主机
首先说明,因为电脑性能原因,所以,gitlab没有跟jenkins部署在一起。
第一步
1号搭建好私有仓库,注意,要打开配置文件,/etc/gitlab/gitlab.rb修改配置文件,将external_url改为本机ip,搭建好之后,即可使用web登陆,注意,使用的是本机ip登陆,因为gitlab用的也是80端口,而后点击new uesres,添些用户名,邮箱,点击new group,在group path处填写webbs,visibility level选择public,点击new project,在project name处选择咱们刚创建的组,webbs。
第二步
2号机编写ansible剧本
第三步
2号机安装号jenkins后,切记,如果没有配置好插件,不能进行下面的操作,配置好之后,选择new item,Enter an item name下方填写你的项目命名,而后选择freesylt project,Description可填可不填,Source Code Management选择git,Repository URL填你的gitlab里http的地址,凭证里的用户名和密码填gitlab的用户名和密码,Build选择Execute shell,写入shell命令,#!/bin/bash cd $WORKSPACE/test ansible-play 剧本名.yml
第四步
点击Build Now,立即构建。