我正在为一个由(目前)纯静态文件组成的项目设置QA环境。我希望QA能够测试我们标记为“准备好进行测试”的特定版本。
我的想法是,我希望能够从qa网站提供任何git分支,可能通过以下URI:
381dc1a.qa.somesite.com
其中381dc1a
引用了git uid。
我知道这样做的唯一方法是通过git show
代理所有文件,考虑到QA网站上非常轻微的负载,这不是什么大问题,但我想知道是否任何人都有更好的主意。
我想要避免的是拥有200个不同的目录,每个目录都有自己的结帐。
答案 0 :(得分:0)
我建议设置一个后接收挂钩,使用git archive
将每个所需的修订版本存档到磁盘上的目录中,然后使用普通的网络服务器来提供这些文件。 / p>
对于未压缩的目录:
git archive SOMEREF | tar -xC /path/to/folder/revision
对于tarball:
git archive SOMEREF > /path/to/folder/revision.tar
对于zip文件:
git archive --format=zip SOMEREF > /path/to/folder/revision.zip
因为你说你不想要一堆目录,但是......
您的另一种选择是编写一个按需运行git archive
的小应用程序(如果您不想在有人请求之前主动导出修订版)。