Jenkins:无法使用日期创建目录

时间:2017-07-12 10:20:01

标签: jenkins

我想使用jenkins创建一个带有日期日期的目录。 我使用了新的jenkins声明语法。 当我按照下面的工作中的描述运行构建时,它失败了。 但是,mkdir命令在控制台上运行良好。

pipeline {
agent any
stages {
    stage('Prepare') {
        steps {

            echo "Checking for the existence of a debian packages directory for this package"
            sh "mkdir -p {env.JENKINS_HOME}/workspace/debian_packages/api-config/$(date +"%d-%m-%Y")"
            }
        }
    }
}

这是我得到的错误(我已尝试转义$字符,但仍然失败)

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
failed:
WorkflowScript: 19: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "\$5" or bracket the 
value expression "${5}" @ line 19, column 17.
               sh "mkdir -p 
 {env.JENKINS_HOME}/workspace/debian_packages/api-
 config/$(date +'%d-%m-%Y')"

可能是什么问题?不是jenkins" sh"是否可以直接在控制台上发出命令?

1 个答案:

答案 0 :(得分:0)

这是我可以提出的解决方法:

stage('Prepare') {
        steps {
            script{
            sh '(date +"%d-%m-%Y") > outFile'
            def curDate = readFile 'outFile'
            echo "The current date is ${curDate}"
            sh "mkdir -p {env.JENKINS_HOME}/workspace/${curDate}"
            }
        }
    }