0

嗨,这是我的 SVN 结构:

TRUNK
BRANCH
    --STAGING
TAGS
    --tag1

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

如何将 TRUNK 设置为 public_html Production 并将登台设置为 Public_html 登台

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

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

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

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

4

1 回答 1

0

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

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

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

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

于 2012-11-05T14:44:55.003 回答