使用jenkinsfile将应用程序jar复制到s3

时间:2018-02-23 07:48:48

标签: jenkins jenkins-pipeline

在我的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中使用它。这可能吗?

1 个答案:

答案 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'")