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

我遇到的问题:

  1. 我检查了 /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 运行命令历史记录显示失败。

enter image description here

方法 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...