Jenkins:如何在Declarative管道中使用自定义插件

时间:2017-09-28 09:14:03

标签: jenkins jenkins-pipeline

我查看了Jenkins的Pipeline syntax页面。这都是关于声明性管道的,我看到了语法。

你能用声明的Pipeline和脚本化的Pipeline实现相同的功能吗?当我将生成器用于脚本化管道时,我立即看到如何导入插件,使用/配置它们。

但是使用Declarative管道我没有看到。我看到一些主要功能和很多用法。

例如:参数(我可以添加一些参数)。 但是有一些字符串验证参数插件。当我下载这个插件时,我可以在Scripted Pipeline等中使用它。但我不知道如何将它用于我的声明性管道。

我正面对这个用例。是否可以使用带有声明性管道的每个插件? (似乎可以使用Scripted Pipeline)

1 个答案:

答案 0 :(得分:1)

您可以阅读声明性管道的environment部分中的大多数参数类型。

pipeline{
    agent any
    environment { 
        USER_CRED = credentials('my-user-cred') 
        USER_NAME = string('my-user-name')
        ACTIVE = booleanParam('active')
    }
    stages {
        stage('Example') {
            steps {
                sh 'echo ${USER_NAME} - ${USER_CRED} - ${ACTIVE}'
            }
        }
    }
}

您还有choicefilepasswordruntext(可能还有其他在插件中定义而不是核心)。不幸的是the plugin我认为你所说的不支持这种使用格式(因为它没有在its implementation上定义@Symbol

使用声明式比脚本化更好,但是如果你不能用声明式做某事,那么你可以使用script标签来执行脚本代码:

stages {
    stage('Stage 1') {
        steps {
            script {
              // scripted code as in non-declarative
            }
        }
    }
}