Mac 到 EC2 - 源代码控制三角问题 - git?同步?什么?

Mac to EC2 - the source control Triangle Problem - git? rsync? WTH?

我有一个日常 EC2 实例。 (实际上,请注意那些 每次重新启动时都会更改 IP,这是一个进一步的问题。)

实例上有一个文件夹/,我在文件夹(mysql、express 等)中有一个简单的(比如说)Node 项目。比方说,这是一个网站。

所以在我的 Mac 上开发...你如何处理这个问题?

可以 运行 EC2 实例上的 git 回购,在我的 Mac 上本地编辑并推送 .. 但是 URL 总是在变化,令人讨厌。

Visual Studio 社区 没有 不幸的是,我相信有任何远程编辑。

(实际上,无论如何,您希望最终将代码存储在某处的存储库中。)

我可以在我自己的一台服务器上有一个 git 存储库(或 svn 存储库),并且每次都进入一个三角形.. 推 .. 拉 .. 似乎不方便。

你必须不断地手动推拉。

我很高兴在 shell 上使用 Nano,但是,你知道,你没有自动完成和漂亮的颜色。

令人惊讶的是,我发现最好的解决方案似乎是,在 Mac 上使用 $2(完美设计)Transmit sftp 客户端......它们包括一个 "edit with .. choose .. Visual Studio" 按钮 - 万岁传输!每次保存时它都会发送到实例。那行得通,但是 Vis。不明白这是一个完整的"solution",它只是一个文件一个文件,这是蹩脚的。

这似乎很了不起,没有日常解决方案 "Triangle problem" - 怎么办?

我能想到两种方法来解决这个问题:

  1. 创建一个 Elastic IP 并将其与您的实例相关联。然后你的IP不会改变。 (无论如何,我个人都会为它创建一个 DNS 名称。在需要时更容易记住它,并且它可以描述主机是什么。)

再简单不过了,但很难找到

  • 转到您的 EC2 实例
  • 左栏单击"Elastic IPs"下的"Network & Security"。 (不是 "Elastic Block Store")
  • 只需单击 "Allocate" - 完成

  1. 使用动态 DNS 解决方案,例如概述的解决方案 here。那么你的 git URL 可以是一个固定的名字,而不是一个不断变化的 IP。配置完成后,您的实例可以在其 IP 更改时更新 DNS 记录。

我看到弹性IP可以让你直接推送。 几个额外的选项

查看 aws-cli 集成选项,它既可以部署代码(通常到 s3),又可以启动附加到 运行 网站代码的 ec2 实例。

或者您可以将您的作品发布到 github(public 或私有存储库)并有一种机制让 EC2 实例连接并拉到其本地存储(我假设它有一些顽固的)。

通知选项包括定期获取版本文件、webapp 中的启动方法等。

也许在实例重新启动时才这样做&每次都重新启动它(相当粗鲁)