在我的Jenkins文件中,我有一个 name: install bundle on {{ type_smx }}
tags: ssh
command: sudo /servicemix/servicemix/bin/client -h {{ inventory_hostname }} -a {{ ssh_smx_ports[type_smx] }} -u smx -p {{ ssh_smx_pass }} 'install mybundle'
阶段,然后是'Package'
阶段。我想复制在包阶段中构建的应用程序jar,以便在'Copy Jar'
阶段用于复制到s3存储桶。现在我把jar名称硬编码了。我熟悉'Copy JAR'
和stash
,但不确定这是否有帮助。
unstash
我不想在这里硬编码stage('Package')
{
sh "mvn package"
stash includes: '**/target/*.jar', name: 'app'
}
stage('Copy JAR')
{
unstash 'app'
sh "aws s3 cp $WORKSPACE/target/foo-bar.jar s3://my-bucket-name/${env.BRANCH_NAME}/"
}
,而是从unstash中使用它。这可能吗?
答案 0 :(得分:0)
AWS CLI支持通配符 - https://docs.aws.amazon.com/cli/latest/reference/s3/ 可能有多种方式,但这应该可以解决问题:
sh("aws s3 cp $WORKSPACE/target/ s3://my-bucket-name/${env.BRANCH_NAME}/ --recursive --exclude '*' --include '*.jar'")