DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步

全部文章

DevOps神器Jenkins使用精髓第O弹之开头
DevOps神器Jenkins使用精髓第一弹之初始化配置
DevOps神器Jenkins使用精髓第三弹之常用插件
DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步
DevOps神器Jenkins使用精髓第五弹之API的使用

一、什么是Pipeline

Jenkins Pipeline是一套插件,提供了一组可扩展的工具,将我们原来意义上的手动配置每一个Jenkins Job的具体配置项变成将所有配置代码化, 并再次配合Gitlab等版本控制系统去保存我们的代码配置, 这样子无论Job在未来需要更新, 或者需要回滚到之前的某一个配置, 又或者一个新的Job需要参考之前的老Job的配置并直接套用, 又或者我们需要去批量生成若干个Job配置, 我们都可以像管理软件代码的方式去管理我们的Jenkins Job配置. 这样就极大的简化我们自动化部署的结构, 将以前需要手动配置Job的这个步骤, 直接代码化. 最终体现出我们DevOps的最终目标.

二、入门示例

让我们创建一个Pipeline项目

《DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步》

创建后直接进入Pipeline脚本编写位置

《DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步》

为了方便大家复制,我把代码贴到下面

pipeline {
    agent any 
    stages {
        stage('Build') { 
            steps { 
                sh 'ls /' 
            }
        }
        stage('Test'){
            steps {
                sh 'ls /etc'
            }
        }
        stage('Deploy') {
            steps {
                sh 'ls -la /'
            }
        }
    }
}

查看执行结果:

我执行了6次构建,其中前5次我估计写错,图中黄色圆圈正是代码中stage部分,Pipeline有一个特点,就是当任何一段代码执行报错,接下来代码都不会被执行,相当于编程中函数的return功能。当然代码中可以加入post模块用来返回Pipeline结果,先不要急,我将在后续详细讲解语法时说到。

《DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步》

三、Pipeline脚本管理的另一种模式

官方解释:
复杂的Pipeline难以在Pipeline配置页面的文本区域内进行写入和维护。为了使这更容易,Pipeline也可以写在文件中,作为Jenkinsfile,并检查源控件(比如git),Jenkins可以通过Pipeline脚本从SCM选项加载的控件。选择SCM选项中的Pipeline脚本后,不要在Jenkins UI中输入任何Groovy代码; 您只需指定要从其中检索Pipeline的源代码中的路径。更新指定的存储库时(比如git),只要Pipeline配置了SCM轮询触发器,就会触发一个新构建。
我来翻译:
说白了就是把页面中的脚本放入一个jenkinsfile文件中编写,并放入git仓库进行管理,同时jenkins项目配置git地址,使用git仓库的webhook也好jenkins的CSM轮询也罢,又或者手动触发,都可以让这个jenkins Pipeline项目基于你编写的jenkinsfile进行构建。

下面看看具体配置
jenkins项目中Pipeline的设置

《DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步》

gitlab中的jenkinsfile

《DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步》

    原文作者:满古德拉克
    原文地址: https://www.jianshu.com/p/a2a8fe61f173
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞