我查看了Jenkins的Pipeline syntax页面。这都是关于声明性管道的,我看到了语法。
你能用声明的Pipeline和脚本化的Pipeline实现相同的功能吗?当我将生成器用于脚本化管道时,我立即看到如何导入插件,使用/配置它们。
但是使用Declarative管道我没有看到。我看到一些主要功能和很多用法。
例如:参数(我可以添加一些参数)。 但是有一些字符串验证参数插件。当我下载这个插件时,我可以在Scripted Pipeline等中使用它。但我不知道如何将它用于我的声明性管道。
我正面对这个用例。是否可以使用带有声明性管道的每个插件? (似乎可以使用Scripted Pipeline)
答案 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}'
}
}
}
}
您还有choice
,file
,password
,run
和text
(可能还有其他在插件中定义而不是核心)。不幸的是the plugin我认为你所说的不支持这种使用格式(因为它没有在its implementation上定义@Symbol
。
使用声明式比脚本化更好,但是如果你不能用声明式做某事,那么你可以使用script
标签来执行脚本代码:
stages {
stage('Stage 1') {
steps {
script {
// scripted code as in non-declarative
}
}
}
}