Deployment 使用mercurial部署网站

Deployment 使用mercurial部署网站,deployment,version-control,mercurial,bitbucket,Deployment,Version Control,Mercurial,Bitbucket,我正在为我们最新的一个项目建立一个开发/部署周期。这就是我想做的 将最新代码提交到本地“mercurial”克隆 将其推送到托管在“bitbucket”的中央回购 在我的服务器上打开一些基于web的管理控制台(这是我需要帮助的部分),该服务器已配置为使用bitbucket repo自动获取最新提交并显示列表 选择其中一个版本并执行更新,这将有效地更新网站 如果最新版本存在一些问题,请使用相同的web控制台返回到以前的版本 我在step1和step2中使用“SourceTree”,我希望整个周期的

我正在为我们最新的一个项目建立一个开发/部署周期。这就是我想做的

  • 将最新代码提交到本地“mercurial”克隆
  • 将其推送到托管在“bitbucket”的中央回购
  • 在我的服务器上打开一些基于web的管理控制台(这是我需要帮助的部分),该服务器已配置为使用bitbucket repo自动获取最新提交并显示列表
  • 选择其中一个版本并执行更新,这将有效地更新网站
  • 如果最新版本存在一些问题,请使用相同的web控制台返回到以前的版本

  • 我在step1和step2中使用“SourceTree”,我希望整个周期的GUI都是基于“SourceTree”的。有谁能推荐我可以用于服务器端管理(步骤3、4、5)的工具吗?

    这比您想象的要简单:

  • 使用bitbucket作为源在服务器上克隆网站


  • 在网站的根文件夹中编写一个调用
    hg pull-u
    的小web应用程序。Mercurial会记住从哪里出发,所以你在这里不需要任何东西

  • 第二个特性可以使用hg id-i实现(请参阅),以获得当前版本。将其写入文件

    现在您需要一个网页,列出该文件中的所有修订,并在单击其中一个时运行
    hg up-r

    但也许更好的方法是使用本地repo中的
    hgpush
    直接推送到web服务器(请参阅)。然后,可以使用更新文件并将上次修订保存到文件中

    现在,您只需要一个web服务就可以恢复到以前的版本。

    是一个可以为您实现这一点的web应用程序

    它是一个持续集成服务器,但可以配置为仅在使用应用程序时发布


    有很多持续集成服务器,我想大多数/所有服务器都可以做你想做的事情,所以如果那一个不太适合你的需要,就四处搜索

    我想你已经读过了?如果您只需直接从本地回购协议推送到部署网站上的回购协议,这包括#3和#4。不是五,唉。我自己就是这么做的。是的,我看过那篇博文。。。但我想让它更人性化一点。。。避免开发人员的服务器配置头痛!无法避免一次性设置。如果有web GUI,一次性设置就可以了。。。在某些情况下,它甚至可能是第三方开发人员,我不希望他们通过ssh连接到我的服务器(仅用于“hg更新”)“编写一个称为hg pull-u的小型web应用”>这正是我所寻找的。。。一些小的webapp实现,列出了可用的修订版本,让我更新到一个。我正在考虑用python/fabric编写一个。。但是想看看是否有任何经过测试的解决方案……如果您将存储库放在网站根目录中,请确保将web服务器配置为拒绝访问
    .hg
    目录,否则您的整个网站源代码和历史将向公众公开!