Jenkins持续集成

Posted shuaiyin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,立即构建。

以上是关于Jenkins持续集成的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins+Gitlab实现持续集成

持续集成之jenkins2

如何在CentOS下安装部署Jenkins持续集成环境

Jenkins——持续集成介绍及Jenkins安装部署(插件+用户权限+凭据+Maven打包)

Jenkins持续化集成

Jenkins持续集成