【问题标题】:Pushing from local git repository to two different aws codecommit从本地 git 存储库推送到两个不同的 aws codecommit
【发布时间】:2017-02-23 20:39:52
【问题描述】:

我有一个本地 git 存储库,并且我创建了一个 cron 作业以每 10 分钟从本地 git 存储库推送到 Codecommit, 所有开发人员都将那里的代码推送到本地 git 存储库。 但我有两个 aws 帐户,我想要相同的 cron 作业也将代码推送到第二个 aws codecommit 帐户。

我们需要在 .ssh 目录中创建一个配置文件,我们可以使用 aws-iam 创建该配置文件,但我可以在一个配置文件中添加代码提交的 iam-access 密钥吗? 如果您有任何面糊解决方案,请建议我。

【问题讨论】:

  • 为什么要将源代码放在这样的两个位置?安迪,你为什么要使用 cron?当您有有效的更改要推送时,您通常会将代码推送到源主机。
  • 实际上在一个帐户中我们正在运行生产,但是为了安全起见,我们正在将暂存帐户转移到暂存帐户中的不同帐户,我们正在使用带有 jenkins 的 codedeploy .. 与其他一些分支.. 并且在本地 git 更改从开发人员每 4-5 分钟进来一次,这就是我使用 cron 作业推送代码提交的方式 @GeorgeMWhitaker
  • 好吧,这是有道理的。我想我仍然会做一个 repo (codecommit) 。我假设您正在使用 codecommit 来触发构建/部署。这样,您就可以根据分支创建触发器。因此,您的生产分支会触发生产系统的部署/构建。如果他们在不同的帐户中。在我看来,让开发人员配置他们的机器以确保您的流程正常工作是一个麻烦的秘诀。开发人员设置应该非常简单,您的集中式工具应该配置为完成其余工作。

标签: git amazon-web-services amazon-iam aws-codecommit


【解决方案1】:

在最近的 git 版本中,可以同时推送到多个遥控器。

为此,我建议添加一个名为 all 的新遥控器,当您使用它时,可以清楚地表明您正在推送到多个遥控器。

git remote add all git://HostA/repo1.git

现在为任意数量的遥控器添加不同的 pushurl:

git remote set-url --add --push all git://HostA/repo1.git
git remote set-url --add --push all git://HostB/repo2.git
git remote set-url --add --push all git://HostC/repo3.git

最后,要推送到所有这些,请使用:

git push all master

(其中master 是您要从中推送的本地分支)

【讨论】:

  • 感谢您的回答@ashutosh,我同意您的回答,但在 codecommit 中,我们需要在 ~.ssh 目录中添加一个配置文件 link 但如果我在配置中添加两个 Codecommit 主机文件,只有一个主机在工作.. 对于每个 codecommit 连接,我们需要在配置文件中添加 aws iam 的主机密钥
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 2022-09-27
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多