我们在ubuntu服务器的办公室里运行Gitlab服务器。我正在使用每个repo的post-receive hook进行自动部署。这就是我做的,
GIT_WORK_TREE
部署代码并在同一个post-receive hook中重启nginx服务器。现在我想通过现有的标准工具进行自动部署,因为采用这种部署方式,我需要配置所有的repo,这样会花费很多时间。有哪些其他方法可以执行此自动部署。
生产服务器:ubuntu 14.04LTS, 生产网络服务器:nginx, 本地git服务器:gitlab。
更新:我现在想这样做,因为我对gitlab shell有问题,因为@Ciro Santilli解释道。在我遇到gitlab shell问题后,我也正在做git push production
作为@Ciro Santilli回答的链接。但我想做的就是Gitlab_CI所做的事情,push to master branch
我们的生产服务器应该更新。我将尝试使用Gitlab_CI,但我想知道还有其他工具可以做同样的事情。
答案 0 :(得分:3)
编辑:使用Custom Hooks feature,如果您有文件系统访问权限,则不使用挂钩的原因不再适用。但是,我仍然建议使用CI,因为它是:
.yaml
configuration inside the repository 在自定义挂钩功能之前不使用挂钩的原因:
正如在Gitlab repository mirroring
中讨论的那样除非您指定更多关于部署的内容,除非您希望使用Git进行部署,否则GitLab没有任何具体内容,答案将与通用Git问题相同:Deploy a project using Git push
如果您有更具体的要求,可能会有一项服务可以满足您的需求:https://github.com/gitlabhq/gitlabhq/tree/d7c50b4a95b5530ae0e2f5249cfd9a419dd940c6/app/models/project_services,但我会将其留给另一个更具体的问题。