DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础
1. 分支策略
持续集成中使用的分支策略包括以下三个:
- The master branch
- The integration branch
- The feature branch
而CD只在Integration的release上分支上执行即可。
2. Release 分支
一些团队采用发布分支的策略。release分支是在所有代码在生产环境中经过验证之后创建的。也就是从master上面拉取的。创建release分支的目的就是在相应的版本上进行bug修复。
3. CD 管道
在此处,不会再创建新的pipeline;而是利用我们之前创建CI多分支管道。 创建新的管道应该有以下步骤
- 从版本控制器中拉取代码
- 构建和单元测试代码,把单元测试报告发布到Jenkins。
- 执行静态代码分析,并把结果上传到SonarQube.假如错误的数量超过在SonarQubea质量门设置的阀值,那么将会导致管道执行失败。
- 执行集成测试,并公布单元测试报告到Jenkins.
- 上传构建的构建好的artifacts到Artifactory,并对artifacts附加一些属性。
- 部署二进制到测试环境
- 执行测试(质量分析)
- 在Artifcatory提高解决方案,就是把它标记为候选版本。
先前的CD Pipeline的目的就是对持续部署,测试(QA),和提升在binary仓库中的artifacts(比如以前只是构建好的二进制,现在可以把它列为候选,就是没有什么问题可以发布了)。并且针对每步的成功或者失败都执行报告 。
在真实的情况下,QA可能包含多个阶段的测试,比如性能测试,用户可接受测试,组件测试等。此处我们只执行性能测试
4. CD的实验将会用到的CD的工具集
Tool/Technology | Description |
---|---|
Java | Primary programming language used for coding |
Maven | Build tool |
Junit | Unit test and integration test tools |
Jenkins | CI tool |
GitHub | VCS |
SonarQube | Static code analysis tool |
Artifactory | Binary repository mananger |
Apache Tomcat | Application server to host solution |
Apache JMeter | Performance testing tool |
DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础的更多相关文章
- DEVOPS技术实践_04:Jenkins参数化构建
一.参数化构建 1.1 各个参数的信息 凭据参数存储一个用户的账号密码信息,等等,运用最多的是选项参数 1.2 使用选项参数 构建已经变成参数化构建 1.3 获取这个值,修改Jenkinsfile文件 ...
- DEVOPS技术实践_03:Jenkins自动构建
一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---- ...
- DEVOPS技术实践_12:创建持续集成的管道
持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 ...
- DEVOPS技术实践_11:Jenkins集成Sonar
前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...
- DEVOPS技术实践_18:Jenkins的Pinpeline对于参数的使用
因为最近使用Pipeline声明式语法构建项目,但是最近项目的参数设置较多,特地的来学习一下关于参数的调用和测试,主要式从一个大神那里学习的,结尾回贴上大神的博客链接 1 构建一个pipeline项目 ...
- DEVOPS技术实践_17:Jenkins使用扩展邮件功能发送邮件
一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配 ...
- DEVOPS技术实践_15:使用Docker作为Jenkins的slave
前面实验了使用docker搭建一个jenkins,下面实验使用docker作为jenkins的slave节点 1. 环境准备 一个运行Docker的主机或者群集 Jenkins应该能访问互联网,方便安 ...
- DEVOPS技术实践_14:使用docker部署jenkins
一 基础环境准备 [root@node6 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node6 ~]# yum -y ...
- DEVOPS技术实践_09:Jenkins多分支管道
简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...
随机推荐
- Atcoder Tenka1 Programmer Contest D: IntegerotS 【思维题,位运算】
http://tenka1-2017.contest.atcoder.jp/tasks/tenka1_2017_d 给定N,K和A1...AN,B1...BN,选取若干个Ai使它们的或运算值小于等于K ...
- JPA中id前面有空格导致的"Column 'id' not found"问题
问题背景 昨晚有个同事发生了一个神奇的问题,一如既往的问题,一如既然的用我写的BEJSON-JAVA代码生成器生成,却发现一直提示Column 'id' not found.这就很TM神奇了 2018 ...
- C++ 求向量的交集、并集、差集
#include<iostream> #include<stdio.h> #include<list> #include<algorithm> //se ...
- Xcode4.2 本地化 总结
1 xcode4.2,如果是简体中文,把国际化的文件放到zh-Hans.lproj中就显示正常了.如果放到zh.lproj中就不可以 2 字符串 1)在项目的"supporting file ...
- Resharper 如何把类里的类移动到其他文件
有时候,看到一个类里有很多类,需要把他移动其他文件 假如有一个类 class A { class B { } } 如何把 B 移动文件 B里? 一般使用 快捷键是 Resharper 的快捷键,如果不 ...
- SDUT-2132_数据结构实验之栈与队列二:一般算术表达式转换成后缀式
数据结构实验之栈与队列二:一般算术表达式转换成后缀式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运 ...
- @loj - 6354@「CodePlus 2018 4 月赛」最短路
目录 @description@ @solution@ @accepted code@ @details@ @description@ 企鹅国中有 N 座城市,编号从 1 到 N . 对于任意的两座城 ...
- Android读取sd卡
public static String[] getStoragePaths() { List<String> pathsList = new ArrayList<String> ...
- 《attention is all you need》解读
Motivation: 靠attention机制,不使用rnn和cnn,并行度高 通过attention,抓长距离依赖关系比rnn强 创新点: 通过self-attention,自己和自己做atten ...
- 【CSS3】纯CSS3制作页面切换效果
此前写的那个太复杂了,来点简单的核心 <html> <head> <title></title> <style type="text/c ...