我试图在Jenkins 2.0管道中使用Jenkins文件中的S3 plugin。不幸的是,管道语法助手似乎不是很完整。
我收到了以下代码:
step([$class: 'S3CopyArtifact', buildSelector: [$class: 'StatusBuildSelector', stable: true], excludeFilter: '', filter: 'deploy/*.zip', flatten: false, optional: false, projectName: 'my/project/with/folders', target: '/my/directory/'])
当然这还不够,因为缺少凭据和存储桶。另外,这个插件似乎与Folders插件的行为不正确。
有没有人对此提示?
答案 0 :(得分:7)
我同意你的原始陈述,因为脚本生成是如此悲伤。即使您选择了S3BucketPublisher
,它仍然不足以继续下去。
请参阅下面的我的代码段。它假设您已在系统配置中创建了配置文件。
stage("publish to s3") {
step([
$class: 'S3BucketPublisher',
entries: [[
sourceFile: 'mybinaryFile',
bucket: 'GoBinaries',
selectedRegion: 'eu-west-1',
noUploadOnFailure: true,
managedArtifacts: true,
flatten: true,
showDirectlyInBrowser: true,
keepForever: true,
]],
profileName: 'myprofile',
dontWaitForConcurrentBuildCompletion: false,
])
}
答案 1 :(得分:4)
对于更简单的用例,Pipeline AWS Plugin现在支持这样:
s3Upload(file:'someFolder', bucket:'my-bucket', path:'/path/to/targetFolder/')
djsd123的示例适用于更高级的用例。 如果您还想向对象添加元数据标签,可以添加userMetaData数组:
profileName: 'myprofile',
dontWaitForConcurrentBuildCompletion: false,
userMetadata: [[ key: 'git_branch', value: "${env.BRANCH_NAME}"],
[ key: 'build_number', value: "${env.BUILD_NUMBER}"]
],
答案 2 :(得分:0)
在@ djsd123答案上添加,您可以使用全局格式上传文件夹:
E/Unity (27746): AndroidJavaException: java.lang.IllegalArgumentException: adSize
E/Unity (27746): java.lang.IllegalArgumentException: adSize
E/Unity (27746): at com.facebook.ads.redexgen.X.8h.<init>(:18251)
com.facebook.ads.internal.dynamicloading.DynamicLoaderImpl.createAdViewApi(:112)
E/Unity (27746): at com.facebook.ads.AdView.<init>(AdView.java:107)