jenkins - Jenkins Groovy 脚本中预期的步骤
问题描述
我的 Jenkins 管道有以下 groovy 脚本。但是,在我的脚本已经有步骤的情况下,按照预期的步骤运行它的给出错误时。谁能建议这里有什么问题..
脚本文件
pipeline {
agent any
stages {
stage('Workspace Preparation') {
steps {
sh """
rm -rf ${workspace}/*
"""
}
}
stage('Get Deployment files') {
steps {
dir("${workspace}/deployfiles") {
if("${params.componentType}"=="A") {
echo "A component deployment"
checkout(## necessary step)
}
else if ("${params.componentType}"=="B") {
echo "B component deployment"
checkout(## necessary step)
}
else {
echo "Invalid"
}
}
}
}
}
}
得到错误为
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 19: Expected a step @ line 14, column 6.
if("${params.componentType}"=="A") {
^
enter code here
enter code here
解决方案
您缺少一个script-block
. (来源)
这样的块使您可以访问执行 groovy 代码(例如,if-else 等)
stage('Check') {
steps {
script { // Allows to execute groovy code
dir (...) {
if (...)
}
}
}
推荐阅读
- gemfire - 磁盘存储文件(*.drf、*.crf、*.krf)文件在达到“max-oplog-size”后没有被删除 - Pivotal Gemfire
- bash - 当正文是同一行时,Bash 功能不起作用
- vue.js - Vue中如何配置eslint?
- c# - 在 wcf rest 服务 C# 中使用 Stream 作为输入时缺少第一个元素
- error-handling - 为什么我的 nextcloud 网络驱动器无法连接智能卡丢失错误?
- ruby-on-rails - 在 Rails 6 中访问 ApplicationController.render 中的助手
- c# - 将文件流传递给 System.Text.Json.Utf8JsonReader
- python - 如何对字符串数据进行标准化和标准缩放
- angular - 是否支持将 Medium 提要嵌入 Angular
- java - 如何将编程获得的坐标(纬度、经度)与存储在 CSV 文件中的坐标进行比较