我正在努力为我们的最新项目之一建立开发/部署周期。这就是我正在尝试做的事情,
- 将最新代码提交到本地“mercurial”克隆。
- 将其推送到“bitbucket”托管的中央存储库
- 在我的服务器上打开一些基于 Web 的管理控制台(这是我需要帮助的部分),该控制台已配置为使用 bitbucket 存储库自动获取最新提交并显示列表。
- 选择其中一项修订并执行更新,这将有效更新网站。
- 如果最新版本存在一些问题,请使用同一网络控制台返回到之前的版本。
我在步骤 1 和步骤 2 中使用“SourceTree”,并且我想保持整个周期基于 GUI。谁能建议我可以用于服务器端管理的任何工具(步骤 3,4,5)?
最佳答案
这比您想象的更简单:
使用 bitbucket 作为源在您的服务器上克隆网站
编写一个小型 Web 应用程序,调用
hg pull -u
在您网站的根文件夹中。 Mercurial 会记住从哪里获取数据,因此您在这里不需要任何东西。
第二个功能可以使用 hg id -i
来实现(请参阅 this answer )以获取当前版本。将其写入文件。
现在您需要一个网页,其中列出了该文件中的所有修订版本并运行 hg up -r <revision>
当您点击其中之一时。
但也许更好的方法是使用 hg push
直接推送到 Web 服务器来自本地存储库(请参阅 here )。然后您可以使用 hook更新文件并将最新修订保存到文件中。
现在您只需要一个 Web 服务即可恢复到以前的版本。
关于deployment - 使用 Mercurial 部署网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785671/