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

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

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

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第1张图片【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第2张图片

简单的来说,就是编写 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'	
  }	
}

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

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第3张图片

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

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第4张图片

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第5张图片

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第6张图片

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline_第7张图片

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

你可能感兴趣的:(【持续集成】使用 Jenkinsfile 设计直观的 Pipeline)