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 ...
随机推荐
- Spring:如何实现注解的组合
Spring中存在很多注解组合的情况,例如@RestController @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @ ...
- laravel --- composer install之后,项目没有vender目录
composer install之后,项目没有vender目录 1. 原因一:PHP版本过低 PHP版本需要7.1以上,目前使用的是7.0.23
- Python 简明教程 --- 5,Python 表达式与运算符
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...
- web 基础(一) HTML
web 基础(一) HTML 与 XHTML 一.HTML介绍 HTML( Hyper Text Markup Language)指的是超文本标记语言,是用来描述网页的一种语言.它包括一系列标签.通过 ...
- 《UNIX环境高级编程》(APUE) 笔记第四章 - 文件和目录
4 - 文件和目录 1. 函数 stat.fstat.fstatat 和 lstat #inlcude <sys/stat.h> int stat(const char *restrict ...
- Spring事务的传播级别
一.简单说明 传播属性 描述 PROPAGATION_REQUIRED 如果当前没有事务,就创建一个事务,如果当前存在事务,就加入该事务. PROPAGATION_REQUIRED_NEW 当前的方法 ...
- 优化:在k8s上部署的gitlab
gitlab组件图 gitlab在k8s上占用资源 # kubectl top pods -n default | grep git* gitlab-gitaly-0 9m 444Mi gitlab- ...
- C++中string转换为char*类型返回后乱码问题
问题来源: 在写二叉树序列化与反序列化时发现序列化函数为char* Serialize1(TreeNode *root) 其函数返回类型为char*,但是我在实现的过程中为了更方便的操作添加字符串使 ...
- 「疫期集训day5」火焰
我们就像一把穿刺敌人的利刃,把敌人开肠破肚----凡尔登高地前气势汹汹的德军 今天没有考试,挺好,有时间自己做题了 今天主要复习+学习了数据结构,列了个表: 已完成:单调队列,线段树,set/vect ...
- kubernetes系列(十五) - 集群调度
1. 集群调度简介 2. 调度过程 2.1 调度过程概览 2.2 Predicate(预选) 2.3 Priorities(优选) 3. 调度的亲和性 3.1 node亲和性 3.1.1 node亲和 ...