/var/coverityCompile.groovy
#!groovy
def java(String DIR) {
compile_dir="${WORKSPACE}/${DIR}"
echo "complie_dir:${compile_dir}"
sh "echo complie_dir:${compile_dir}"
sh '''
echo complie_dir:${compile_dir}
'''
}
/src/org/coverity/JenkinsFile
#!groovy
@Library('shared-library') _
pipeline {
agent { label 'dev_ci_env_dm' }
stages {
stage('coverity'){
steps{
script{
coverityCompile.java("DM")
}
}
}
}
}
Журнал Дженкинса будет:
complie_dir:/home/ci/workspace/test_coverity/DM
[Pipeline] sh
[test_coverity] Running shell script
+ echo complie_dir:/home/ci/workspace/test_coverity/DM
complie_dir:/home/ci/workspace/test_coverity/DM
complie_dir:
когда я использую echo "complie_dir:${compile_dir}"
и sh "echo complie_dir:${compile_dir}"
результат будет напечатан, как и ожидалось. Но когда я использую
sh '''
echo complie_dir:${compile_dir}
'''
Результат $ {compile_dir} будет нулевым.
Теперь я хочу выполнить многострочную оболочку, поэтому есть ли другой способ заменить sh ''' '''
?