Jenkins持续部署

Jenkins提供很好的连续部署和交付的支持。看一下部署任何软件开发的流程,将如下图所示。

连续部署的主要部分,是确保其上面所示的整个过程是自动化的。Jenkins实现所有这些是通过各种各样的插件,其中一个是“Deploy to container Plugin”,这个在较早的教程中有介绍过了。

有可用的插件,实际上可以在连续部署过程中以图形表示。但首先,让我们创建 Jenkins 的另一个项目,这样我们就可以看到它是如何工作的。

让我们创建一个简单的项目,它模拟了QA阶段,并执行 HelloWorld 应用程序的测试。
第1步 - 转到 Jenkins 仪表板,然后单击新建项目。选择“Freestyle project”,并输入该项目名称为“QA”。点击 OK 按钮创建项目。

第2步 - 在这个例子中,我们保持简单,只用这个项目来对 HelloWorld 应用程序执行测试计划。

因此,我们的项目 QA 现在安装。可以做一个构建,看它是否正确构建。

第3步 - 现在转到 Hello World 项目,并单击配置(Configure)选项

第4步- 在项目结构中,选择“Add post-build action”,并选择“Build other projects”:

第5步 - 在“Project to build”部分中,输入QA以建立项目名称。可以保留该选项为默认的“Trigger only if build is stable”。点击保存按钮。

第6步 - 建立 HelloWorld 项目。现在如果你看到控制台输出,也将看到 HelloWorld 项目成功建成后,QA项目的构建也将发生。

第7步- 现在安装Delivery pipeline插件。转到 Manage Jenkins → Manage Plugin’s. 在可用的选项卡中,搜索“Delivery Pipeline Plugin”。点击安装不重新启动。完成后,重新启动 Jenkins 实例。

第8步 - 要查看Delivery pipeline 动作,在Jenkins仪表板,单击选项卡旁边的 ‘All’ 选项卡上的+符号。

第9步 - 输入视图名称并选择'Delivery Pipeline View“ 选项。

第10步 - 在下一屏幕,可以保留默认选项。也可以更改以下设置 −

  • 确保选择“Show static analysis results”被选中。
  • 确保选择“Show total build time”被选中。
  • 对于最初的工作 - 输入 HelloWorld 项目作为应该建立的第一个作业。
  • 为管道(Pipeline)输入名字
  • 单击确定(OK)按钮。

现在,将看到整个管道的一个大的视图,其中有整个管道每个项目的状态。
另一个著名的插件是构建管道的插件。让我们来看看它。
 
第1步 - 进入Manage Jenkins → Manage Plugin。在可用的选项卡中,搜索“Build Pipeline Plugin”。点击安装不重新启动(Install without Restart)。完成后,重新启动 Jenkins 实例。

第2步 - 要查看生成管道在动作中,在Jenkins 仪表板,单击选项卡旁边的“All”选项卡上的+符号。

第3步 - 输入视图一个名称并选择“Build Pipeline View”选项。

第4步 - 接受默认设置,只是选择初始工作,确保进入 HelloWorld 项目的名称。点击确定(Ok)按钮。
现在,将看到整个管道的一个大的视图,可看到整个管道每个项目的状态。

Jenkins持续部署的更多相关文章

  1. Jenkins持续部署-Windows环境持续部署探究1

    目录 Jenkins持续部署-Windows环境持续部署探究1 目录 前言 目的 方案流程 技术实现 PowerShell FTP上传插件 环境变量插件 脚本执行 远程调用 升级服务 启动服务 总结 ...

  2. Jenkins持续部署-自动生成版本号

    目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...

  3. Jenkins持续部署-创建差量更新包

    目录 Jenkins持续部署-创建差量更新包 目录 前言 目的 详细流程 生成版本号 获取版本号 创建文件更新清单 压缩 获取上个版本的包 创建差量更新包 读取服务器Json配置 远程创建文件夹目录 ...

  4. Docker + Jenkins 持续部署 ASP.NET Core 项目

    Docker 是个好东西,特别是用它来部署 ASP.NET Core Web 项目的时候,但是仅仅的让程序运行起来远远不能满足我的需求,如果能够像 DaoCloud 提供的持续集成服务那样,检测 gi ...

  5. JAVA项目如何通过Docker实现Jenkins持续部署

    原文地址:http://blog.51cto.com/dadonggg/1957691 本篇实操性的案例讲解——JAVA项目如何通过Docker实现持续部署(只需简单四步), 即:开发通过git pu ...

  6. gitlab+jenkins 持续部署自动化测试

    背景:为了减少测试部署时间和减少不必要的重复工作,采用持续集成的方式进行部署,当gitlab的release (测试)分支有代码变动时,自动拉取代码部署测试环境,并进行接口回归测试 优点:部署自动化, ...

  7. Mac上安装Jenkins持续部署初体验

    1.首先去官网下载安装包 https://jenkins.io/doc/book/installing/ 安装完成后,很不幸,无法访问他的默认站点 查了一堆资料,有的说环境变量没有配置,有的说没有执行 ...

  8. [持续集成]Jenkins 自动化部署 Maven 工程

    一.Jenkins 持续部署原理图 基础服务: 1 SVN 服务 SVN是Subversion的简称,是一个开放源代码的版本控制系统.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的 ...

  9. .NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.CI, CD 与Jenkins 互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous i ...

随机推荐

  1. 人工智能——搜索(1)回溯策略【N皇后问题】

    这学期学<人工智能>(马少平,朱小燕 编著)这本书,里面很多算法听老师讲都听不懂,就想试试写一下看看能不能写出来,就从最简单的回溯策略开始吧. 源码 题目描述 在一个n*n的国际象棋棋盘上 ...

  2. pyspark视频

    在一个网课上买了一个pyspark视频,贼贵,本来是想把视频解压密码记下来分享出来的,可是其实用的是EVPLAYER,一机一码,一共只有3个激活码 这里我分享视频链接,百度网盘: https://pa ...

  3. C++编译器符号表有哪些内容?

    http://blog.csdn.net/wangbingcsu/article/details/48340479 C++编译器符号表有哪些内容? 很早就想写一篇关于符号表的学习小结,可是迟迟不能下笔 ...

  4. jenkins权限设置

  5. centos安装swoole

        编译安装swoole: cd && wget https://github.com/swoole/swoole-src/archive/1.8.6-stable.tar.gz  ...

  6. TreeMap实现原理及源码分析之JDK8

    转载 Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例 一.TreeMap 简单介绍 什么是Map? 在数组中我们通过数组下标来对数组内容进行索引的,而在Map中我们通过对象来对 ...

  7. typename在C++中的用法

    . //在C++中typename一般用来声明模板的模板参数(template parameter): template<typename T> class X; //T是一个模板参数 . ...

  8. Jquery中的height(),innerHeight(),outerHeight()的区别

    前言 最近练习做弹窗,遇到height(),innerHeight(),outerHeight()的区别. 根据下面的盒模型来了解三者的区别. height():element的height; inn ...

  9. redis持久化机制之AOF与RDB

    什么是redis Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能.持久存储.适应高并发应用场景等优势.它虽然起步较晚,但发展却十分迅速. redis为何需要 ...

  10. watir-webdriver 中根据html5中的data-*属性设置元素

    def jscript(key="",*hashdict) key_dict=hashdict[0].keys[0] value_dict=hashdict[0][key_dict ...