单个服务器上的单独Git部署

时间:2014-05-07 01:54:54

标签: git deployment version-control branch

我希望在我的应用程序中有一个允许用户在版本之间进行更改的功能,特别是在sprint之间查看应用程序的差异。用户只需从下拉列表中选择一个版本(Sprint A,Sprint B等),页面就会刷新,显示当时应用程序的状态。

这本身不应该是一个太大的问题。我想我们将有一个Git部署框架,它将检查服务器上的相应分支。

问题是我想允许,例如,来自企业的人能够看到Sprint B的应用程序,而开发人员可以同时演示他为Sprint C所做的事情,没有一个分支结账破坏另一个。

每次更改分支以查看版本时,都会影响查看该服务器的所有人。

有没有办法允许一个用户查看服务器上的另一个分支而不影响其他任何人,并且可能没有对该服务器上的文件进行持久更改?

1 个答案:

答案 0 :(得分:0)

  

我认为我们将有一个Git部署框架,可以检查服务器上的相应分支。

这是一个很好的方法,但它需要检查/更新不同文件夹中的相应分支(并且您的webapp需要根据用户选择重定向页面)

通常使用post-receive钩子来触发每个分支的过程:例如参见" how to process files on a branch in post-receive hook in git"

#!/bin/bash

while read oldrev newrev ref
do
  branch=`echo $ref | cut -d/ -f3`

  if [ "master" == "$branch" ]; then
    ....