deployment - 使用 Mercurial 部署网站

标签 deployment version-control mercurial bitbucket

我正在努力为我们的最新项目之一建立开发/部署周期。这就是我正在尝试做的事情,

  1. 将最新代码提交到本地“mercurial”克隆。
  2. 将其推送到“bitbucket”托管的中央存储库
  3. 在我的服务器上打开一些基于 Web 的管理控制台(这是我需要帮助的部分),该控制台已配置为使用 bitbucket 存储库自动获取最新提交并显示列表。
  4. 选择其中一项修订并执行更新,这将有效更新网站。
  5. 如果最新版本存在一些问题,请使用同一网络控制台返回到之前的版本。

我在步骤 1 和步骤 2 中使用“SourceTree”,并且我想保持整个周期基于 GUI。谁能建议我可以用于服务器端管理的任何工具(步骤 3,4,5)?

最佳答案

这比您想象的更简单:

  1. 使用 bitbucket 作为源在您的服务器上克隆网站

  2. 编写一个小型 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/

相关文章:

svn - SVN 中的 'delete' 和 'unversion' 有什么区别?

svn - 打印最后 10/20/... 带有差异的 svn 日志消息

ide - Mercurial 做法 : use with IDEs and scalability

git - 如何使用源代码管理管理同一项目的开源和商业版本?

Git:应用程序配置和不同的环境

deployment - 发布 Web 角色 Azure 项目时出现错误 "The stream data of file is not yet available."

version-control - 可视化版本控制文件中的更改

mercurial - Sourcetree 与 Mercurial。撤消尚未推送的提交

c# - 是否可以运行在 sql server 2008 上构建的应用程序以与 2005 一起运行

deployment - phing 参数