1. 分支策略

持续集成中使用的分支策略包括以下三个:

  • The master branch
  • The integration branch
  • The feature branch

而CD只在Integration的release上分支上执行即可。

2. Release 分支

一些团队采用发布分支的策略。release分支是在所有代码在生产环境中经过验证之后创建的。也就是从master上面拉取的。创建release分支的目的就是在相应的版本上进行bug修复。

3. CD 管道

在此处,不会再创建新的pipeline;而是利用我们之前创建CI多分支管道。 创建新的管道应该有以下步骤

  1. 从版本控制器中拉取代码
  2. 构建和单元测试代码,把单元测试报告发布到Jenkins。
  3. 执行静态代码分析,并把结果上传到SonarQube.假如错误的数量超过在SonarQubea质量门设置的阀值,那么将会导致管道执行失败。
  4. 执行集成测试,并公布单元测试报告到Jenkins.
  5. 上传构建的构建好的artifacts到Artifactory,并对artifacts附加一些属性。
  6. 部署二进制到测试环境
  7. 执行测试(质量分析)
  8. 在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基础的更多相关文章

  1. DEVOPS技术实践_04:Jenkins参数化构建

    一.参数化构建 1.1 各个参数的信息 凭据参数存储一个用户的账号密码信息,等等,运用最多的是选项参数 1.2 使用选项参数 构建已经变成参数化构建 1.3 获取这个值,修改Jenkinsfile文件 ...

  2. DEVOPS技术实践_03:Jenkins自动构建

    一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---- ...

  3. DEVOPS技术实践_12:创建持续集成的管道

    持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 ...

  4. DEVOPS技术实践_11:Jenkins集成Sonar

    前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...

  5. DEVOPS技术实践_18:Jenkins的Pinpeline对于参数的使用

    因为最近使用Pipeline声明式语法构建项目,但是最近项目的参数设置较多,特地的来学习一下关于参数的调用和测试,主要式从一个大神那里学习的,结尾回贴上大神的博客链接 1 构建一个pipeline项目 ...

  6. DEVOPS技术实践_17:Jenkins使用扩展邮件功能发送邮件

    一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配 ...

  7. DEVOPS技术实践_15:使用Docker作为Jenkins的slave

    前面实验了使用docker搭建一个jenkins,下面实验使用docker作为jenkins的slave节点 1. 环境准备 一个运行Docker的主机或者群集 Jenkins应该能访问互联网,方便安 ...

  8. DEVOPS技术实践_14:使用docker部署jenkins

    一 基础环境准备 [root@node6 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node6 ~]# yum -y ...

  9. DEVOPS技术实践_09:Jenkins多分支管道

    简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...

随机推荐

  1. Pytorch的网络结构可视化(tensorboardX)(详细)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/xiaoxifei/article/det ...

  2. 字母间距letter-spacing

    效果图: 字母间距CSS: h1 {letter-spacing:2px} h2 {letter-spacing:-3px}

  3. Android 字体库的使用

    开发Android的人大多都知道,Android里面对字体的支持少得可怜,默认情况下,TextView  的 typeface 属性支持 "Sans","serif&qu ...

  4. H3C Telnet配置例子

  5. oracle索引的操作

    ORACLE对索引有两种访问模式. 索引唯一扫描 ( INDEX UNIQUE SCAN) 大多数情况下, 优化器通过WHERE子句访问INDEX. 例如: 表LODGING有两个索引 : 建立在LO ...

  6. oracle 用EXISTS替换DISTINCT

    当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在SELECT子句中使用DISTINCT. 一般可以考虑用EXIST替换 例如: 低效: SELECT DISTINCT DEPT_NO, ...

  7. jq杂项方法/工具方法----isArray()

    https://www.cnblogs.com/sandraryan/ $.isArray()函数用于判断指定参数是否是一个数组.返回布尔值. <!DOCTYPE html> <ht ...

  8. Adam那么棒,为什么还对SGD念念不忘 (3)—— 优化算法的选择与使用策略

    在前面两篇文章中,我们用一个框架梳理了各大优化算法,并且指出了以Adam为代表的自适应学习率优化算法可能存在的问题.那么,在实践中我们应该如何选择呢? 本文介绍Adam+SGD的组合策略,以及一些比较 ...

  9. Python--day47--mysql分页性能相关方案

    提高分页性能: 分页的时候,如果是正常的数据全局扫描,分页越大的时候花费的时间越长. 这时候要提高效率的话就不能全局扫描,如下面的例子,扫描索引且从最大或最小页开始扫描.

  10. 2019-10-24-dotnet-列表-Linq-的-Take-用法

    title author date CreateTime categories dotnet 列表 Linq 的 Take 用法 lindexi 2019-10-24 9:4:23 +0800 201 ...