zoukankan      html  css  js  c++  java
  • 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,立即构建。

  • 相关阅读:
    【Java】【高精度】【组合数】【递推】poj1737 Connected Graph
    【递推】【推导】【乘法逆元】UVA
    【Java】【滚动数组】【动态规划】UVA
    【Java】【高精度】【递推】UVA
    【贪心】【multiset】Tinkoff Challenge
    【递推】【组合数】【容斥原理】UVA
    【递推】【组合计数】UVA
    【组合计数】UVA
    【预处理】【分类讨论】Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) C. Fountains
    【DFS】【贪心】Codeforces Round #411 (Div. 1) C. Ice cream coloring
  • 原文地址:https://www.cnblogs.com/shuaiyin/p/10927117.html
Copyright © 2011-2022 走看看