如何解决aws s3 cp 从 jenkins 工作区到不同 aws 帐户上的 ec2 工作区
目标:当我单击构建时,我想将文件从 jenkins 工作区复制到 ec2。(两者都在同一区域但不同的 aws 帐户)
背景:
- jenkins 在 aws 账户 A 中,并附加了角色 J。
- aws 账户 B 中的一个 ec2 实例和一个具有 ec2+ssm 权限的单独角色 R。
- 在 Jenkins shell 中,我假设角色 R 并捕获凭据,例如访问/秘密/令牌。
- 然后将文件从 jenkins 工作区推送到 aws 帐户 B 中的 s3 存储桶 s3://pine/apple/。
现在我想将这些文件从 s3://pine/apple/ 复制到 ec2 的 /home/ubuntu/pear 我的尝试:
根据此处的 aws 教程https://docs.aws.amazon.com/systems-manager/latest/userguide/walkthrough-cli.html#walkthrough-cli-example-1
aws ssm send-command \
--region "us-east-1" \
--instance-ids "i-apple" \
--document-name "AWS-RunShellScript" \
--comment "IP config" \
--parameters commands="aws s3 sync s3://pine/apple/ /home/ubuntu/pear --debug" \
--output text
我遇到的问题:
- 我检查了 /home/ubuntu/pear,但它没有数据。詹金斯显示:
命令 abcdefgh IP
配置 0 0 AWS-RunShellScript 0 1615535133.68 50 0 1615527933.68 待定 待定 1
CLOUDWATCHOUTPUTCONfig False INSTANCEIDS i-apple NOTIFICATIONCONfig
命令 aws s3 同步 s3://pine/apple/ /home/ubuntu/pear --debug
但是shell显示成功。 UI 上的 SSM 运行命令历史记录显示失败。
方法 2 从jenkins shell,post起角色,我也尝试了传统的方式
aws s3 sync s3://pine/apple /home/ubuntu/pear
但是给了
[Errno 13] Permission denied: '/home/ubuntu/pear'
权限是:
root@ip-apple:/home/ubuntu# ls -lrt
total 4
-rw-r--r-- 1 root root 0 Mar 12 00:57 test.text
drwxrwxrwx 2 root root 4096 Mar 12 00:57 pear
我错过了什么?我该如何进行?我想使用 ssm,这样我就不必管理信用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。