jenkins-流水线语法和基本操作

流水线的语法分为: 声明式和脚本式


image.png
image.png

基本操作

没有pipeline插件的先安装一下。创建一个流水线项目。
创建完成后,点击配置,直接拉到最后


image.png

之前做过传统的项目配置。回忆一下流程:
需求:
参数化构建,选择对应分支。拉取gitlab代码,实现项目更新。
我们思路还是以前的配置思路,点击那个流水线语法,点击第二项Directive Generator,
选择parameters (上面的指令表写明了它就是负责提供参数化的),然后就像配置传统项目那样填写信息
最终点击生成代码。


image.png

自动生成流水线代码


image.png

复制下来。回到之前的流水线页面
不清楚语法结构的,可以先生成一个测试脚本语法


image.png
pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

agent any ---控制执行的节点
stage是任务块
steps 是某一任务中的步骤块

将刚才生成的git参数化构建(功能是获取git分支列表)的代码粘贴上面


image.png

再去代码片短器生成获取git代码的


image.png

生成出来的就是 “拉取代码”这个任务块的主要步骤,所以将其粘贴到响应的版块中
pipeline {
    agent any
    

    parameters {
        gitParameter branch: '', branchFilter: 'origin/(.*)', defaultValue: 'master', description: '选择你要的分支', name: 'branch', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'PT_BRANCH'
    }
    
    stages {
        stage('拉取代码') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/$branch']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd386c248-cf59-45c5-9731-b8f2d42411e9', url: 'http://192.168.1.112:85/webservice/devops_project.git']]])
            }
        }
        stage('打印-查看') {
            steps {   
                sh label: '', script: 'ls'
            }
        }
    }
}

PS:默认分支名:最好不带origin/ ,直接写master,不然有时候直接用分支过滤,会不起作用。直接写master更省事。

运行一次,第一次会失败,执行第二次就会获取到分支列表正常执行了。并且会发现,配置项目里jenkins已经根据流水线代码完成了传统的参数化配置界面。


image.png

点击Log可以查看个步骤的执行过程与结果。


image.png

if判断

流水线脚本中还支持条件判断。这要用到开头的指令清单中提到 script 关键字,如


image.png

结果:


image.png

将脚本文件放在git项目仓库中

一般来讲,最好是测试没问题的流水线脚本跑通以后,确认无误。将其复制下来,在git仓库中,新建Jenkinsfile 空文件,粘贴上去。提交版本库中。
运行的时候,引用git仓库中的jenkinsfile文件
我这里直接在dev创建了一个jenkinsfile. 如果在master创建,以后创建新分支的时候都会自动创建好jenkinsfile为其他分支创建流水线脚本。


image.png
image.png
image.png

你可能感兴趣的:(jenkins-流水线语法和基本操作)