在调用Jenkinsfile
中的函数以及变量时,我需要一些帮助。
我创建了一个bash函数,用于将某些测试结果从jenkins从属服务器复制到Jenkins主服务器的userContent
目录。
我想在差异作业中使用此功能。不同的作业可能具有不同的报告路径,而不是对函数内部的路径进行硬编码,我想使用jenkinsfile中的变量与函数一起传递。
这是我的功能:
def call() {
sh '''
mkdir -p $JOB_NAME
foldername="$BUILD_NUMBER.$(date '+%d-%m-%Y')"
echo ${foldername}
mkdir -p $JOB_NAME/${foldername}
pwd
reportPath=""
dest="./$JOB_NAME/${foldername}"
cp -R ${reportPath}/*.xml ${dest}
scp -r $JOB_NAME jenkins@master_ip:/var/lib/jenkins/userContent/
'''
}
我如何在jenkinsfile中调用该函数,并在报告路径中添加变量?
答案 0 :(得分:0)
我猜您想将Jenkins Slave工件复制到master。您可以使用以下插件https://wiki.jenkins.io/display/JENKINS/Copy+Artifact+Plugin
对于声明性管道作业,可以使用以下方法:
stages {
stage('Copy Archive') {
steps {
script {
step ([$class: 'CopyArtifact',
projectName: 'Create_archive',
filter: "packages/infra*.zip",
target: 'Infra']);
}
}
}