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多分支管道。 创建新的管道应该有以下步骤

  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

原文地址:https://www.cnblogs.com/zyxnhr/p/11783631.html

时间: 2024-10-01 03:18:13

DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础的相关文章

DEVOPS技术实践_11:Jenkins集成Sonar

前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如SonarQube工具就能够帮助我们完成此项.每次代码提交后,在代码上就会执行代码分析. 分析是基于代码分析工具中定义的一些规则,如果代码通过了错误阀值,那么它会允许到生命周期的下一步,如果超过了设定的阀值,那么直接返回错误. SonarQube是代码质量管理工具,允许团队去管理,追踪和改善他们的源代

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

持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 1.1 本实验分支 分支能够有效的对代码较好的管理,也是能够把工作的代码和开发环境的代码隔离的有效方式.主要有三种的分支策略类型– master分支– integration 分支– feature 分支 1.master分支 master分支也叫做生产分支,该分支的代码全部是经过测试OK的代码.

DEVOPS技术实践_08:Jenkins多分支管道

简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkinsfile可以存放在代码仓库中. Jenkinsfile只是定义CI管道的一个脚本. 另外,多分支管道的设计初衷就是当Git仓库中的代码改变时,去自动触发构建.下图是对它的一个描述. 一. 准备工作 (1)在[全局工具配置]中Maven工具已经配置好.(2)安装了[Pipeline Maven In

DEVOPS技术实践_08:声明式管道语法

简介 前面简单的做了管道的实验,看了一下的它的效果 声明式管道是Groovy语法中的一个更简单和结构化的语法.下面主要学习明式管道语法. 一 声明式管道的基本结构 以上节的代码为例 node { def mvnHome stage('Preparation') { // for display purposes // Get some code from a GitHub repository git 'https://github.com/jglick/simple-maven-project

DEVOPS技术实践_10:安装部署Artifactory

需要一种机制去存储所有的二进制代码(build,packages,third-party plugins等)到类似于版本控制系统的系统. 像Git,SVN存储代码,它们存储的往往是源代码,不是二进制文件.Artifactory或者Nexus就是和Jenkins紧密集成的二进制文件存储库系统. 可以带来以下好处:追踪构建(谁触发?谁构建)依赖关系部署历史 jfrog artifactory是一款二进制存储管理工具,用来管理构建工具(如:maven.gradle)等所依赖的二进制仓库,以方便管理第三

DevOps企业实践与架构

原文地址:http://www.sohu.com/a/112351816_355140 什么是DevOps及其误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevOps没有迅速走红呢?即便是在2006年Amazon发布了ECS,微软在2008年和2010年提出和发布了Azure,DevOps的重要性似乎都没有那么强烈.我分析其原因主要有: 第一个很重要的原因是因为那时候云计算还是小众产品,更多的与虚拟化.虚拟机相关,它们还是重量级的IT基础设施. 第二个很重要

2019 DevOps 技术指南

原文链接:https://hackernoon.com/the-2018-devops-roadmap-31588d8670cb 原文作者:javinpaul 翻译君:CODING?戴维奥普斯 写在前面 我们在推进国内研发团队 DevOps 落地的过程中,发现不少研发组织在积极寻求 DevOps 技能方面的提升.今天翻译的这篇深受欢迎的 DevOps 技术雷达来自一位国外的 Java 博主,他也是一位非常热爱学习的开发者,接下来让我们马上进入到正文. DevOps 技术指南 DevOps 目前非

Jenkins持续集成学习及企业级应用

文档声明 该文档主体为去年末自主学习时总结,旨在为我司提供一套企业级持续集成解决方案.这篇文章现在看上去很稚嫩,但是当时花费了许多心血.希望将当时的学习心得拿出来与大家交流.该文档主要说明了jenkins持续集成部署的相关步骤,并着重实现了权限分组,邮件配置,插件配置的jenkins实现过程.对出现的问题进行解决,是一套持续集成的解决方案. 持续集成Continuous integration 提出 针对复杂度高的项目提出“早集成,常集成,频繁集成”来帮助项目在早期发现项目风险和质量问题 作用

GitHub+Jenkins持续集成简介

DevOps(英文Development(开发)和Operations(技术运营)的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作 持续集成概念: 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1.1 什么是持续集成: