专栏首页phodal【持续集成】使用 Jenkinsfile 设计直观的 Pipeline

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline

在编写《Growth:全栈 Web 开发思想》的时候,发现了Jenkins 2.0 发现了一个很帅的插件,叫Blue Ocean

提供了一个高大上的可视化界面,如下:

超级直观,有木有,构建流程一目了然。于是,我也做了一个玩玩:

简单的来说,就是编写 Jenkinsfile,即 Pipeline as Code。

Jenkinsfile

Jenkinsfile 是一种基于 Groovy 的 DSL,和 Gradle 的设计思想是一样的,我们也可以编写 Groovy 插件作为扩展。

而一个 Jenkinsfile 也相当的直观,如下是我在书中编写的代码示例:

node {  stage ('Checkout') {    git 'https://github.com/phodal/growth-studio'  }  stage ('Create Virtualenv') {    sh './ci/setup.sh'  }  stage ('Install') {    sh './ci/install.sh'  }  stage ('Unit Test') {    sh './ci/unit_test.sh'  }  stage ('E2E Test') {    sh './ci/e2e.sh'  }  stage ('Deploy') {    sh './ci/deploy.sh'  }}

上面的每一步里,都是由一个简单的脚本来构成的。在运行的时候,我们可以做到下面的效果:

各个阶段的运行时间一目了然。

连失败也变得很优雅,如下是 Blue Ocean 提供的失败示例:

或者使用 Pipeline Stage View 插件时的效果:

而我们所做的只需要在创建项目的时候,选择 Pipeline,并选择 Jenkinsfile 的来源即可:

我总觉得 Atlassian 家的 Bamboo 对持续交付做得更好一些——我是说手动点部署。不过它是收费的,还不便宜~~。

示例代码:https://github.com/phodal/growth-code

本文分享自微信公众号 - phodal(phodal-weixin),作者:Phodal

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 我的第四款编辑器:微信公众号上使用 Markdown 来显示代码

    这已经是我第四次写编辑器了~~~ 第一次是在三年前(2014年4月份),当时我听说有一个工具叫 Node-Webkit,于是我就结合CodeMirror撸了一个...

    Phodal
  • 如何在 8 小时内开发上线一个在线表单系统

    欢迎使用 moform,一个无需注册、基于 Serverless 的开源表单系统。 在使用开发了一个精简版的 Serverless 日志存储系统 molog 之...

    Phodal
  • 我是如何为技术博客设计一个推荐系统(上):统计与评分加权

    过去的两周里,我一直忙于为 『玩点什么』 设计一个推荐系统。在这个过程中,参考几本书籍,查找了一系列的资料。想着这些资料上,大部分都是大同小异的,实现了几个简单...

    Phodal
  • HGAME-Week3-Pwn

    可以看到程序在申请chunk的函数中申请了长度为0x80的块,但是在edit函数中允许输入0x100的长度,因此存在unlink漏洞,思路是伪造chunk,然后...

    安恒网络空间安全讲武堂
  • mac创建并运行sh文件

    用户1437675
  • #!/bin/bash 与#!/bin/sh

    hive脚本如下(日表): #!/bin/bash #     /*% ******************************************...

    学到老
  • 七夕礼物没送对?飞桨PaddlePaddle帮你读懂女朋友的小心思

    “女孩儿的心思男孩你别猜,你猜来猜去也猜不明白。不知道她为什么掉眼泪,也不知她为什么笑开怀……”

    用户1386409
  • 七夕礼物没送对?飞桨PaddlePaddle帮你读懂女朋友的小心思

    “女孩儿的心思男孩你别猜,你猜来猜去也猜不明白。不知道她为什么掉眼泪,也不知她为什么笑开怀……”

    量子位
  • #!/bin/bash 与#!/bin/sh

    hive脚本如下(日表): #!/bin/bash #     /*% ******************************************...

    学到老
  • oracle19c安装脚本.

    配置环境脚本: https://github.com/ddcw/ddcw/blob/master/shells/CheckOracleENV_19c.sh

    大大刺猬

扫码关注云+社区

领取腾讯云代金券