使用Git的Webapp开发/生产设置
我在一个小团队中工作,做网站和网络应用。我们在本地有一个开发服务器,它的设置与我们的标准生产服务器相同,我想将Git集成到我们的工作流程中。我目前正在使用Gitlab托管和访问存储库 我的设想是:使用Git的Webapp开发/生产设置,git,version-control,workflow,Git,Version Control,Workflow,我在一个小团队中工作,做网站和网络应用。我们在本地有一个开发服务器,它的设置与我们的标准生产服务器相同,我想将Git集成到我们的工作流程中。我目前正在使用Gitlab托管和访问存储库 我的设想是: 从中央存储库中提取 本地发展 推送到开发服务器 试验 合并 质量控制 打包并发送到生产服务器 我的问题涉及推进到开发服务器阶段。我希望能够将一个分支推送到dev服务器,然后立即在浏览器中浏览该分支-不是源代码,而是站点本身 是否有自我托管的软件可以用来实现这一点 就像我说的,我目前正在使用Gitl
- 从中央存储库中提取
- 本地发展
- 推送到开发服务器
- 试验
- 合并
- 质量控制
- 打包并发送到生产服务器
gitinit
和git clonegit@127.0.0.1...
从gitolite bare存储库中,我更希望自动完成此操作
实现这一点的最直接方法是使用上述命令进行更新后挂钩吗?它似乎比我喜欢的要复杂一些,但我认为这是一个相当常见的用例,所以可能我遗漏了一些东西。您可以结合:
- 一个post接收挂钩,用于转到您的实时站点(非裸机回购),并使用推送到裸机回购的最新提交更新内容。
请参阅“”(注意:在您的情况下不需要子模块,但此答案中描述的拉动机制仍然适用) - 如果您想管理谁可以推送到dev服务器,请单击。还可以控制已签出回购的chmod。
见“ - a根据部署环境管理某些文件内容:
smudge
”脚本可以在git签出过程中生成正确的内容,您可以组合:
- 一个post接收挂钩,用于转到您的实时站点(非裸机回购),并使用推送到裸机回购的最新提交更新内容。
请参阅“”(注意:在您的情况下不需要子模块,但此答案中描述的拉动机制仍然适用) - 如果您想管理谁可以推送到dev服务器,请单击。还可以控制已签出回购的chmod。
见“ - a根据部署环境管理某些文件内容:
“
smudge
”脚本可以在git签出过程中生成正确的内容
需要有关实现的更多详细信息。IIS?阿帕奇?您是否使用任何web框架?轨道?德扬戈?你所有的服务器都是本地的吗,没有防火墙可以对付吗?我也在一条类似的船上;我想看看是否有一个解决方案可以在部署期间管理几个“变量”。例如,在我们的开发服务器上,我们将使用一个数据库连接字符串(对于我们的开发数据库服务器),对于生产,我们将使用生产数据库服务器。我正在寻找一种解决方案,它将按照您的建议执行,并根据部署上下文自动切换两个字符串。@JeffAllen-为此工作使用任何部署工具?我相信我在回答中提到的post receive
钩子(以及中的详细信息)涵盖了您需要提到的post update
(使用gitolite更容易设置,因为gitolite已经使用了post-update
hook,这意味着您的链接必须被链接:)需要关于您的实现的更多详细信息。IIS?Apache?您是否使用任何web框架?Rails?Django?您的所有服务器都是本地的,没有防火墙可供竞争吗?我也在一条类似的船上;我想看看是否有一种解决方案可以管理几个“变量”例如,在我们的Dev服务器上,我们将使用一个数据库连接字符串(对于我们的Dev数据库服务器),对于生产,我们将使用生产数据库服务器。我正在寻找一种解决方案,该解决方案将按照您的建议执行,并根据部署上下文自动切换两个字符串。@JeffAllen-为此工作使用任何部署工具吗?我相信我在回答中提到的post receive
挂钩(详细信息见)涵盖您需要提及的更新后
(使用gitolite更容易设置,因为gitolite已经使用了更新后
挂钩,这意味着您的挂钩必须被链接:)谢谢你,这非常有帮助,虽然我能把问题改写得更具体。谢谢你,这非常有帮助,尽管我能把问题改写得更具体。