我有用于开发协作流程的私有GitLab服务器。我只是想知道是否有任何自动部署gitlab存储库到远程生产服务器的解决方案?
例如,我有2个不同的服务器 192.168.1.1用于gitlab服务器 192.168.1.2用于托管我的实时项目的生产服务器情景是我有主回购和少数分支。 Master repo是实时项目,分支是开发。如果任何提交更改为master,它将自动同步到生产服务器。并使我的实时应用程序保持最新状态
我正在研究并尝试这样的方法 https://johnflynn.me/autodeploy-your-gitlab-projects/和 https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps 但是他们都描述了如何在同一个sarver(repo和live)中部署repo。
有什么想法吗?
答案 0 :(得分:0)
我认为您希望查看Continuous Integration(CI)并安装将在特定分支上轮询/监控您的Git存储库的CI服务器(例如Jenkins)然后当该分支有新更新时,CI服务器将自动构建和部署您的应用程序。
这也具有高度可配置性的优势,因此您可以对要部署的代码执行预构建命令和测试。这也意味着如果你决定放弃GitLab,你仍然会有一个可以自行部署的工作解决方案,它不依赖于特定的服务。
幕后花絮
使用Git执行自动部署并非真正针对此类事情而设计。 Git只是一个版本控制系统,可以管理您的源代码。
现在,如果您使用解释语言或脚本(Node.js,Python等)进行编程,因为您的源代码 您的内置/编译/部署代码。
但是,对于需要编译的C,C ++,Java,C#等语言,你需要构建你的项目,Git显然不支持这样做,因为它只是一个VCS
持续集成的地方;使DQP流程更加简化,并消除了手动部署的需要。