我对这一切都很陌生,所以如果这听起来很基本,我很抱歉,但我希望为我的 RoR 应用程序使用 github 和暂存服务器 (staging.example.com),然后将暂存代码移动到 example.com。所以我会有这样的事情 -
Local System <----> Github <---- >staging server <---> Live Server/site
?
我对这一切都很陌生,所以如果这听起来很基本,我很抱歉,但我希望为我的 RoR 应用程序使用 github 和暂存服务器 (staging.example.com),然后将暂存代码移动到 example.com。所以我会有这样的事情 -
Local System <----> Github <---- >staging server <---> Live Server/site
?
我认为您的流程的更具说明性的版本将是这样的
Github
/ | \
Staging Server | Production Server
\ | /
\ | /
\ | /
Development Machine
所以你会从你的开发机器推送到 github,然后当你部署到登台或生产时,使用我假设 capistrano,它会在相应远程服务器上的这些分支中的任何一个中检查来自 github 的代码。我会使用一个master
用于生产,也许一个分支dev
用于分期。
这里有很多场景,但另一个常见的场景是在每次推送到分支时在 github 上使用 webhook(我认为这就是它们的名称)来创建一个事件。这也可能是将代码部署到您的登台或持续集成服务器。它们非常整洁,但如果你只是从这个开始,我会保持简单。
这里有一个简短而甜蜜的 Railscast 设置暂存环境(对不起,不是免费的)