【问题标题】:SVN: how to set stage to a sub branchSVN:如何将阶段设置为子分支
【发布时间】:2012-11-05 00:16:10
【问题描述】:

您好,这是我的 SVN 结构:

TRUNK
BRANCH
    --STAGING
TAGS
    --tag1

所以这里的目标是在子分支“STAGING”上进行所有开发,一旦准备好投入生产,所有更改将合并到 tag1 并滚动到 TRUNK(生产)

如何将 TRUNK 设置为 public_html Production 和 staging 为 Public_html staging

你可以在这里看到服务器文件夹结构

 /var/svn/projects/ (trunk, branch and tags are here)

/home/production/public_html <--- producction
/home/staging/public_html <-- staging

我希望当我对 Staging 做出承诺时,它会在 staging 网站上上线。

【问题讨论】:

    标签: svn ssh merge symlink stage


    【解决方案1】:

    看看Jenkins。这是一个持续构建系统,但它所做的其中一件事是监视 Subversion URL 并对更改采取行动。例如,您可以有一个暂存分支,当 Jenkins 检测到更改时,它会在您的服务器上签出或导出该分支上的文件。

    最简单的方法是让 Jenkins 在您的登台服务器上运行。 Jenkins 本身使用最少的资源,所以这应该不是问题。在 Jenkins 上设置工作以查看您的暂存 URL。设置作业,因此作业的工作目录是您的暂存区域的网站 URL。 (这可以在作业本身中轻松配置)。然后当 Jenkins 看到暂存 URL 发生变化时,它会更新暂存区域。

    一个更好的主意是有两个目录。您有实际的暂存目录和另一个目录,即下一个暂存区域。 Jenkins 可以对另一个目录执行svn export,然后将旧的暂存目录移开,并将新目录移动到暂存目录。这样一来,您的暂存目录就不会因为 Jenkinds 进行更新而处于不一致的状态。更好的是,Jenkins 可以将您的服务器上下移动,作为移动新暂存区的一部分。

    Jenkins,顺便说一句,它是开源的并且可以免费使用。它也很容易设置。这是一个包含它自己的网络服务器的单个 jar 文件。只需运行java -jar jenkins.war,它就会在您的服务器上的 8080 端口上启动并运行。(可以通过传递参数轻松更改端口)。其他一切都是不言自明的。点击新工作链接并填写表格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 2012-01-08
      • 2011-10-15
      • 2011-07-07
      • 1970-01-01
      • 2019-06-24
      相关资源
      最近更新 更多