使用插件:File Parameter Plugin
之前写过一篇关于Jenkins 用户上传文件到工作目录的文章,那时候还需要使用sharedlibraries。现在使用这个插件可以非常简单的上传文件。话不多说,直接开始:
创建一个job,选择This project is parameterized 如下截图,然后选择Base64 File Parameter,而不是File Parameter。
填Name,稍后会使用这个参数名获取文件
然后就可以在执行命令时使用如下方法将文件copy到当前工作目录或者任意目录
# 如果文件存在,则copy,不存在则跳过
withFileParameter(name:'THEFILE', allowNoFile: true) {
sh 'if [ -f "$THEFILE" ]; then cp $THEFILE ./$THEFILE_FILENAME; fi'
}
Pipeline
Linux agent
pipeline {
agent linux
parameters {
base64File 'THEFILE'
}
stages {
stage('Example') {
steps {
echo "test"
echo "$THEFILE"
echo "$env.WORKSPACE"
echo "$THEFILE_FILENAME"
sh 'ls -al'
withFileParameter(name:'THEFILE', allowNoFile: true) {
sh 'sleep 6; if [ -f "$THEFILE" ]; then cp $THEFILE ./$THEFILE_FILENAME; fi'
}
sh 'ls -al'
echo "test end"
}
}
}
}
Windows agent powershell
pipeline {
agent {
label 'windows'
}
parameters {
base64File 'THEFILE'
}
stages {
stage('Example') {
steps {
echo "$THEFILE_FILENAME"
withFileParameter(name:'THEFILE', allowNoFile: true) {
powershell '''
If ($env:LoginMacroFile_FILENAME) {
Copy-Item $env:THEFILE -destination $env:THEFILE_FILENAME
}
'''
}
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)