javascript - 如何从 Jenkins 将远程机器上的文件上传到 Amazon s3
问题描述
我正在从 Jenkins 远程运行我的量角器浏览器测试到虚拟机。当我为 default_directory 设置的位置在项目的同一存储库中但下载的文件保存在远程机器下载文件夹中时,如何将我在远程机器上下载的文件上传到 Amazon s3?
var downloadsPath = path.resolve(__dirname, '../e2e/downloads');
multiCapabilities:
[{
'browserName': 'chrome',
specs: 'features/*.feature',
'chromeOptions': {
prefs: {
download: {
'prompt_for_download': false,
'directory_upgrade': true,
'default_directory': downloadsPath
}
}
}
}],
在我的规范文件中:
const downloadDirectory = './e2e/downloads';
fs.readdir(downloadDirectory, async (err, files) => {
if (err) throw err;
return await Promise.all(files.map(file => {
var s3 = new AWS.S3();
var putObjectPromise = s3.putObject({
Bucket: 'reports',
Key: file,
Body: fs.createReadStream(path.join(downloadDirectory, '/' , file)),
ACL: 'public-read'
}).promise();
return putObjectPromise.then(function(data) {
return Promise.resolve(true);
}).catch(function(err) {
return Promise.reject(err);
});
}));
});
解决方案
推荐阅读
- python - 用re替换文件中的单词
- haskell - How do you get the most recent version of Cabal for Haskell?
- apache-spark - 通过一列中的唯一值随机拆分 DataFrame
- mysql - MYSQL - Group Contact rows with records NOT IN
- php - php -> 定时 bash 脚本总是关闭
- swift - 快速将可测试代码与静态方法调度相结合
- excel - Excel AVERAGEIFS looking up ONE of the criteria columns
- javascript - 数据绑定按键事件在 div 上不起作用
- elasticsearch - 如何从 Elastic Search 中的日志文件中获取总执行时间?
- kubernetes - Kubernetes 构建集群时出错,找不到实用程序子网