2015-05-20 33 views
2

这是我的情况,我有一个网络服务器和一个gitlab服务器用于存储库,我试图在我推送到远程分支时自动更新我的网站,如果我直接从我的笔记本电脑上推送,我可以自动更新到网络服务器,但我想推到我的gitlab服务器,我想我的gitlab服务器来更新我的网站,位于另一台服务器。Gitlab AutoDeploy

在我的服务器我有以下内容

!/ bin/sh的

的git - 共同努力树=在/ var/www/html等/网站,收到后钩--git- dir =/var/repo/site checkout -f

这将工作如果我从我的笔记本电脑推送到网络服务器。不是从我的gitlab我想我需要在我的gitlab服务器上挂钩我在网上找不到任何东西。

回答

1

我们在这种情况下使用gitlab-ci。 你可以在你的gitlab实例中设置gitlab-ci。 当你推送到gitlab-server时,gitlab-ci会触发一个脚本。 在脚本中,您可以更新Web服务器内容。

还有另一种方式来更新它使用gitlab web钩子的web服务器。 在您的Web服务器上,您应该为Web服务器内容更新创建一个调用git命令的URL。然后打开你的gitlab项目,在设置/ Web钩子创建新的钩子,指向上面创建的网址。当你推入gitlab时,它会触发挂钩并且你的网站将被更新。

我认为第二种方式会更适合您的情况。

0

gitlab-ci是解决方案之一。

这很简单,

  • 创建gitlab亚军。
  • 将.gitlab-ci.yml文件添加到存储库的根目录。