问与答 jenkins pipeline groovy 变量调用问题

SQGE · 2019年12月09日 · 最后由 SQGE 回复于 2019年12月25日 · 233 次阅读
stage('Push') {
    steps {
      script{
        def PKGNEXUSURL = env.NEXUS_URL + '/' + profile + '/' + env._product + '/' + env.JOB_BASE_NAME + '/' + env._buildtime
        def FINDRES = sh returnStdout: true, script: "find ${env.WORKSPACE} -type f -iname '${env.JOB_BASE_NAME}*.zip' -o -type f -iname '${env.JOB_BASE_NAME}*.war'" 
        println FINDRES
        sh "echo $PKGNEXUSURL"
        sh '''
        curl -v -u ${_nexususerpassword} --upload-file $FINDRES $PKGNEXUSURL
        '''
        }
    }
}

识别不到 url

sh 那块使用双引号,变量使用${PKGNEXUSURL} 试试

pipeline { environment { PKGNEXUSURL = 'env.NEXUS_URL + '/' + profile + '/' + env._product + '/' + env.JOB_BASE_NAME + '/' + env._buildtime'

${PKGNEXUSURL}

lework 回复

还是一样的报错

FINDRES.trim()

换了一种方式解决了。

stage('Push') {
    steps {
        sh 'mkdir -p artifactoryfiles'
        sh 'find ${WORKSPACE} -name "${JOB_BASE_NAME}*.zip" -not -path "./artifactoryfiles/*" -exec cp -rf {} artifactoryfiles \\;'
        sh 'curl -v -u ${nexusauth} --upload-file ${WORKSPACE}/artifactoryfiles/*  ${NEXUS_WUXI_URL}/${product}/${profile}/${JOB_BASE_NAME}/${version}/'
    }
}
SQGE 关闭了讨论 12月25日 05:57
SQGE 重新开启了讨论 12月25日 06:06
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册