Jenkins管道:如何使用s3插件上传工件

时间:2017-02-06 18:28:25

标签: jenkins amazon-s3 jenkins-pipeline

我试图在成功构建后将工件上传到s3存储桶,但是我找不到任何可以在阶段/节点块中实现的工作示例。

任何想法(安装了s3插件,jenkins v2.32)?

node {
  sh 'echo ""> 1.jar'
  archiveArtifacts artifacts: '1.jar', fingerprint: true
  // upload to s3 bucket ???
}    

3 个答案:

答案 0 :(得分:9)

查看Jenkins网站上的Pipeline Steps documentation,它显示Pipeline AWS Plugin提供了s3Upload步骤。

答案 1 :(得分:5)

试试这个:

s3Upload(file:'file.txt', bucket:'my-bucket', path:'path/to/target/file.txt')

我认为显示直接插件文档URL更容易。 您可以找到插件文档here

在寻找将文件上传到S3的方法时,here就是一些例子。

答案 2 :(得分:4)

详细步骤:

  1. 安装管道AWS插件。 转到管理Jenkins->管理插件->可用选项卡->通过“ Pipeline AWS”过滤。 安装插件。

  2. 根据您的环境添加凭据。此处的示例:

    Jenkins>凭证>系统>全局凭证(不受限制)->添加

    种类= AWS凭证 并添加您的AWS凭证

    记下ID

  3. 然后在您的Pipeline项目中(类似于我使用的代码)

    node {
    
        stage('Upload') {
    
            dir('path/to/your/project/workspace'){
    
                pwd(); //Log current directory
    
                withAWS(region:'yourS3Region',credentials:'yourIDfromStep2') {
    
                     def identity=awsIdentity();//Log AWS credentials
    
                    // Upload files from working directory 'dist' in your project workspace
                    s3Upload(bucket:"yourBucketName", workingDir:'dist', includePathPattern:'**/*');
                }
    
            };
        }
    }