这是我的情况,我有一个网络服务器和gitlab服务器用于我的存储库,一旦我推送到我的远程分支,我正在尝试自动更新我的网站,如果我直接从我的笔记本电脑推送到web服务器,我可以自动更新,但我想推送到我的gitlab服务器,我希望我的gitlab服务器更新位于另一个服务器上的我的网站。
在我的服务器上,我有一个post-receive钩子,包含以下内容
!/bin/sh
git --work-tree=/var/www/html/site --git-dir=/var/repo/site checkout -f
如果我从我的笔记本电脑推送到the服务器,这将会起作用。不是从我的gitlab,我想我需要一个钩子在我的gitlab服务器上,我在网上找不到任何东西。
发布于 2015-07-08 13:00:55
在这种情况下,我们正在使用gitlab-ci。您可以在gitlab实例中设置gitlab-ci。gitlab-ci会在您推送到gitlab-server时触发脚本。在脚本中,您可以更新web服务器内容。
还有另一种更新web服务器的方法,那就是使用gitlab的web钩子。在您的web服务器上,您应该为web服务器内容更新创建一个调用git命令的url。然后打开你的gitlab项目,在Settings/Web hooks中创建指向上面创建的url的新钩子。当你进入gitlab时,它会触发钩子,你的网站就会更新。
我认为第二种方法更适合你的情况。
发布于 2017-08-04 20:21:44
gitlab-ci就是其中一个解决方案。
这很简单,
https://stackoverflow.com/questions/30356986
复制相似问题