具有强制阶段的Jenkins声明式管道

时间:2020-02-28 15:43:51

标签: jenkins jenkins-pipeline

我正在尝试使用Jenkinsfile构建Jenkins声明式管道。 Jenkinsfile将出现在该项目的仓库中。

Jenkins文件类似于以下内容:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building..'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing..'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying....'
            }
        }
    } }

但是,无论文件如何,我都希望在Jenkins中强制执行某些阶段。因此,例如,管道将从文件运行Build-> Test-> Deploy阶段以及在Jenkins上预定义的其他阶段,就像它是脚本管道一样。

您知道这是否可行吗?我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用shared library重用代码。它不会像您希望的那样平滑,但是您可以使用global variables和/或custom steps来封装通用功能。

这将需要一些粘合代码(@Library()script { }等),但是这种方法非常明确和强大-您可以在管道的任何位置使用库。

答案 1 :(得分:1)

也许你可以试试Jenkins Templating Engine。 它为您提供全面的 Jenkins 管道治理和模板功能。