在开发服务器上测试/预览Github分支
我刚刚从svn移动到github。 我和我的团队运行本地测试,并在中央开发服务器上进行更改和测试。 无论何时我们将更改推送到回购站,我都想自动将更改分配到我的回购站的任何分支到我的开发服务器上的文件夹中。 这将使我和我的团队能够使用我们的中央开发服务器来测试和预览其他代码。
理想情况下,我可以将子域映射到这些不同的分支目录。 即如果分支被称为“重构”,我可能会使用http://refactor.devserver.com进行检查
我想这可能会涉及我的github配置中的一个钩子,触发开发服务器上的脚本? 也许我需要使用像哈德森这样的ci服务器?
编辑:我可以很容易地触发一个脚本来拉主分支 - 我需要做的是将所有更改的分支拉到单独的根文件夹,所以我能够通过它自己的子域轻松地测试任何分支。 (或者一些类似的方式来自动部署和测试任何改变的分支)
非常感谢。
这是我自己的问题的答案的一部分...
我希望团队能够分解代码,并立即能够在像这样的网址上显示它:http://branch-name.devserver.com
我在apache conf中设置了vhost指令来将子域映射到文件夹:
<VirtualHost *:80>
ServerName www.devserver.com
ServerAlias *.devserver.com
VirtualDocumentRoot /var/www/devserver/%1/
</VirtualHost>
我在github或我的本地机器上分支代码。
然后在开发服务器上运行这些命令
cd /var/www/devserver
git clone git@github.com:/user-name/repos-name
将克隆的repos文件夹移至名为分支名称的文件夹,以便它成为子域虚拟主机的根文件夹。
mv repos-name new-branch
然后将主仓库中的仓库切换到新的分支
cd /var/www/devserver/new-branch
git checkout new-branch
它现在可以在http://new-branch.devserver.com上找到
然后,我将更改推送到github上的分支 - 我将它们放在dev服务器上
cd /var/www/devserver/new-branch
git pull
现在 - 如果我想让pull自动发生,我可以设置一个CI服务器来侦听一个git hub hook,这会触发每个分支文件夹中的一个pull。 看起来哈德森可以做到这一点。
我希望找到一个更智能的方法来做到这一点:
欢迎进一步的想法...
如果您定义了一些自动部署过程,它当然可以使用Hudson完成。 实际上,我在一年前做了类似的设置 - 如果更改推入Hudson主进行的单元测试,并且成功部署到分段。
链接地址: http://www.djcxy.com/p/90489.html