一、jenkins配置git

  1、安装源码管理器  git:http://updates.jenkins-ci.org/download/plugins/git/

  去上面的网址中把离线插件下载下来,然后去jenkins的插件管理功能中导入git插件。

    1)git-client.hpi、git-server.hpi、git.hpi(按照顺序来,因为没有前两个,git.hpi是安装不了的)(这三个建议安装离线包,效率高一些;下面两个就可以直接在jenkins中在线安装了)

    2)github.hpi(安装这个,会把相应的依赖包直接安装好的)、git parameter(这个是可以拉取远程仓库指定文件夹的,还可以拉取到本地的指定目录)

    3)重启jenkins。

  2、配置jenkins的全局工具

  

  3、给slave节点配置工具 - git

  

  4、给具体的job配置git,让job可以每次构建都能拉取远程仓库的代码

    1)general

    

    2)源码管理

    

    上图中第二步

    

    一定不要选 SSH、一定不要选 SSH、一定不要选 SSH。(你要是固执的选SSH,绝对连不上,永远提示你秘钥错误,无权限拉取)

    

    

    3)构建

    

  到这里就可以了。基本就完成了自动化持续集成的效果了。当你每次点击构建,jenkins中的git会去拉取远程仓库中最新的代码。

二、流水线式持续全自动化部署

  最终效果就是:开发人员合并最新代码  -->  无异常的完成服务器部署。

  这里不讲,我也还不会,这些应当是专业运维的事情,需要相当完备的工作流程、工作体系、工作内容、运维知识。

  除以上,还另外需要的东西:

    1)gitlab(企业级的git,github也就个人用用)(要配置每个项目的 secret_key)

    2)完备的单元测试用例

    3)jenkins中的papieline插件,用grovy脚本语言,编写持续自动部署流程

  工作流程:

    开发人员申请合并gitlab  -->  开发组长gitlab同意合并,同意完了之后  -->  jenkins会触发构建

      构建过程:先拉取gitlab最新的代码  -->  之后运行单元测试用例  -->  用例通过,继续打包war或者jar;用例失败,构建失败,服务器不受任何影响  -->  打包完成后,把包部署到服务器

    以上过程,基本就是流水线式持续全自动化部署。这一整套过程,有些东西是不可控的,中间还需要设置一些人为干预的步骤。作为一个测试,我暂时不想去深入了解了。以后再慢慢学。

    另外:

    服务器基本分四个:开发、测试、预生产、正式

    四个服务器都有各自的构建流程,各自的单元测试用例

jenkins集群(四) -- 持续集成的更多相关文章

  1. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

    写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...

  2. Jenkins 集群搭建

    一.前言 Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构建,从而提高速度,下面介绍一下 ...

  3. jenkins~集群分发功能的具体实现

    前一讲主要说了jenkins分发的好处<jenkins~集群分发功能和职责处理>,它可以让具体的节点干自己具体的事,比如windows环境下的节点,它只负责编译,发布windows的生态环 ...

  4. 快速搭建Jenkins集群

    关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...

  5. jenkins集群(二)(master --> slave) -- allure自动化测试报告部署

    一.前提 1.环境 1)已经部署好了jenkins环境,包括jenkins的“全局工具配置”也配好了. 2.master与slave的简单的概念 1)master:jenkins部署所在的机器 2)s ...

  6. Net 项目构建基于Jenkins + Github + Mono 的持续集成环境

    Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...

  7. 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

    背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...

  8. jenkins~集群分发功能和职责处理

    jenkins的多节点集群 在进行自动化部署时,你可以按着它们的项目类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确,比如像java的项目你可以使用linux服务来进行部署(拉代码 ...

  9. Jenkins构建Android项目持续集成之findbugs的使用

    Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题 ...

  10. Jenkins Jenkins结合GIT Maven持续集成环境配置

    Jenkins结合GIT Maven持续集成环境配置   by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...

随机推荐

  1. 新版MySQL开始使用时遇到的问题(时区、权限):

    新版MySQL(本人Server version: 8.0.15)在刚开始使用时遇到的问题: 查看mysql安装版本:命令窗口 时区问题解决(The server time zone value 'Ö ...

  2. 手写SpringMVC框架(一)-------项目搭建

    SpringMVC处理请求的大致流程: 我们来开始着手手写一个SpringMVC框架. 新建一个springMVC项目,流程参见 SpringMVC框架搭建流程 引入servlet相关的jar包: & ...

  3. 乐观锁&CAS问题

    悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题:而乐观者的人生观则相反,凡事不管最终结果如何,他都会先尝试去做,大不了最后 ...

  4. Netty 源码解析(五): Netty 的线程池分析

    今天是猿灯塔“365篇原创计划”第五篇. 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty ...

  5. 听说你还不知道CompletableFuture?

    java8已经在日常开发编码中非常普遍了,掌握运用好它可以在开发中运用几行精简代码就可以完成所需功能.今天将介绍CompletableFuture的在生产环境如何使用实践.CompletableFut ...

  6. 每日一题 - 剑指 Offer 54. 二叉搜索树的第k大节点

    题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二叉搜索树 中序遍历 递归 难易程度:中等 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点. 示例1: 输入: ro ...

  7. MSIL入门(一)C#代码与IL代码对比

    基础概念 Microsoft中间语言(MSIL),也成为通用中间语言(CIL),是一组与平台无关的指令,由特定于语言的编译器从源代码生成.MSIL是独立于平台的,因此,他可以在任何公共语言基础架构支持 ...

  8. Netty 中的内存分配浅析-数据容器

    本篇接续前一篇继续讲 Netty 中的内存分配.上一篇 先简单做一下回顾: Netty 为了更高效的管理内存,自己实现了一套内存管理的逻辑,借鉴 jemalloc 的思想实现了一套池化内存管理的思路: ...

  9. 蓝桥杯大学B组省赛2020模拟赛(一)题解与总结

    题目链接:https://www.jisuanke.com/contest/6516 A:题目: 我们称一个数是质数,而且数位中出现了 5 的数字是有趣的. 例如 5, 59, 457.求1到1000 ...

  10. python—模块optparse的用法

    1.什么是optparse: 在工作中我们经常要制定运行脚本的一些参数,因为有些东西是随着我么需求要改变的,所以在为们写程序的时候就一定不能把写死,这样我们就要设置参数 optparse用于处理命令行 ...