Jenkins流水线:如何使用S3插件上传构件

16

我正在尝试在构建成功后将工件上传到S3存储桶,但我找不到任何可供用于阶段/节点块的实际示例。

有什么想法吗(已安装S3插件,Jenkins v2.32)?

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

17

详细步骤:

  1. 安装Pipeline 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:'**/*');
                }
    
            };
        }
    }
    

11

4
您能举一个例子,说明如何使用它将当前目录中的本地文件上传到存储桶的根目录吗? - esmiralha
@esmiralha 你能否使用s3Upload将本地文件上传到存储桶的根目录? - fuzzi

6

试试这个:

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

我认为更容易直接展示插件文档的URL。您可以在这里找到插件文档。

由于您正在寻找一种上传文件到S3的方法,这里有一些示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接