jenkins集群(四) -- 持续集成
一、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集群(四) -- 持续集成的更多相关文章
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境
写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...
- Jenkins 集群搭建
一.前言 Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构建,从而提高速度,下面介绍一下 ...
- jenkins~集群分发功能的具体实现
前一讲主要说了jenkins分发的好处<jenkins~集群分发功能和职责处理>,它可以让具体的节点干自己具体的事,比如windows环境下的节点,它只负责编译,发布windows的生态环 ...
- 快速搭建Jenkins集群
关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...
- jenkins集群(二)(master --> slave) -- allure自动化测试报告部署
一.前提 1.环境 1)已经部署好了jenkins环境,包括jenkins的“全局工具配置”也配好了. 2.master与slave的简单的概念 1)master:jenkins部署所在的机器 2)s ...
- Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
- jenkins~集群分发功能和职责处理
jenkins的多节点集群 在进行自动化部署时,你可以按着它们的项目类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确,比如像java的项目你可以使用linux服务来进行部署(拉代码 ...
- Jenkins构建Android项目持续集成之findbugs的使用
Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题 ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
随机推荐
- 观察者模式(Observer Pattern)(二):HeadFirst中的气象站的实现
1 观察者模式的原理,首先由一个主题,当主题发送变化的时候,通知该主题的订阅者 按照上面的分析我们来进行设计 1.抽象主题Subject public interface Subject { publ ...
- 一条update SQL语句是如何执行的
一条更新语句的执行过程和查询语句类似,更新的流程涉及两个日志:redo log(重做日志)和binlog(归档日志).比如我们要将ID(主键)=2这一行的值加(c:字段)1,SQL语句如下: upda ...
- 啊湫----今天做项目遇到的redis缓存问题---解决方案
演示缓存问题 在进行 前端某个功能更新时 传递的参数 问题 导致 缓存储存 覆盖 只缓存到 传递参数的 值 更新完毕后 进行 存储到redis当中 只存入了 当前这个不可以属性和一个id ...
- c语言二维数组的转置
#include <stdio.h> #include <string.h> #include <stdlib.h> #define maxsize 3 #defi ...
- JDK8--05:方法引用和构造器引用
在上一篇文章中,说过JDK8中内置的函数时接口,为了方便使用,JDK8还提供了方法引用和构造器引用,来简化lambda的写法 1.方法引用 方法引用说明:lambda表达式中的方法已经在其他方法中已经 ...
- python加载json文件
主要是加载进来,之后就没难度了 import json path = 'predict2.json' file = open(path, "rb") fileJson = json ...
- 谈反应式编程在服务端中的应用,数据库操作优化,提速 Upsert
反应式编程在客户端编程当中的应用相当广泛,而当前在服务端中的应用相对被提及较少.本篇将介绍如何在服务端编程中应用响应时编程来改进数据库操作的性能. 开篇就是结论 接续上一篇<谈反应式编程在服务端 ...
- C# 接口(interface) 抽象类(abstract)
类代码: interface Employee { void ShowEmp(); } abstract class EmployeeInPostion: Employee { public abst ...
- 全宇宙首本 VS Code 中文书,来了!
大家好!我是韩骏,VS Code 中文社区创始人,VS Code 的代码贡献者.2013 年,毕业于上海交通大学软件学院,现在是微软开发平台事业部的软件工程师.写过 20 多款 VS Code 插件, ...
- STL初步学习(map)
3.map map作为一个映射,有两个参数,第一个参数作为关键值,第二个参数为对应的值,关键值是唯一的 在平时使用的数组中,也有点类似于映射的方法,例如a[10]=1,但其实我们的关键值和对应的值只能 ...