我试图在成功构建后将工件上传到s3存储桶,但是我找不到任何可以在阶段/节点块中实现的工作示例。
任何想法(安装了s3插件,jenkins v2.32)?
node {
sh 'echo ""> 1.jar'
archiveArtifacts artifacts: '1.jar', fingerprint: true
// upload to s3 bucket ???
}
答案 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)
详细步骤:
安装管道AWS插件。 转到管理Jenkins->管理插件->可用选项卡->通过“ Pipeline AWS”过滤。 安装插件。
根据您的环境添加凭据。此处的示例:
Jenkins>凭证>系统>全局凭证(不受限制)->添加
种类= AWS凭证 并添加您的AWS凭证
记下ID
然后在您的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:'**/*');
}
};
}
}