2

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

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

我在 step1 和 step2 使用“SourceTree”,我想保持整个循环 GUI 为基础。谁能建议我可以用于服务器端管理的任何工具(步骤 3、4、5)?

4

2 回答 2

2

这比你想象的要简单:

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

  2. 编写一个小型网络应用程序,该应用程序hg pull -u在您网站的根文件夹中调用。Mercurial 记得从哪里拉,所以你在这里不需要任何东西。

第二个特性可以使用hg id -i(见这个答案)来实现,以获取当前版本。将其写入文件。

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

hg push但也许更好的方法是使用本地存储库直接推送到 Web 服务器(请参见此处)。然后,您可以使用挂钩来更新文件并将最新修订保存到文件中。

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

于 2012-05-28T15:37:04.563 回答
0

Team City是一个网络应用程序,可以为您做到这一点。

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

有许多持续集成服务器,我想大多数/所有人都可以做你想做的事,所以如果那个服务器不太适合你的需求,请四处搜索。

于 2012-05-28T20:06:48.917 回答