Php 从github自动提取服务器中的代码
我正在开发一个laravel应用程序,并有一个测试服务器设置来向客户端显示演示。如何在服务器中获取代码是我将代码推送到github并登录到服务器,然后将代码拉到那里并运行。Php 从github自动提取服务器中的代码,php,laravel,continuous-delivery,Php,Laravel,Continuous Delivery,我正在开发一个laravel应用程序,并有一个测试服务器设置来向客户端显示演示。如何在服务器中获取代码是我将代码推送到github并登录到服务器,然后将代码拉到那里并运行。 有没有一种自动化的方法?我研究了持续集成/交付,它似乎在测试代码?在服务器中创建一个SSH密钥,并将该公钥添加到github。一旦你做到了这一点,你不需要登录推或拉 创建公钥和私钥 向github添加密钥 在服务器中创建SSH密钥,并将该公钥添加到github。一旦你做到了这一点,你不需要登录推或拉 创建公钥和私钥 向g
有没有一种自动化的方法?我研究了持续集成/交付,它似乎在测试代码?在服务器中创建一个SSH密钥,并将该公钥添加到github。一旦你做到了这一点,你不需要登录推或拉 创建公钥和私钥 向github添加密钥
在服务器中创建SSH密钥,并将该公钥添加到github。一旦你做到了这一点,你不需要登录推或拉 创建公钥和私钥 向github添加密钥 使用rsync 1) 您可以
rsync
将代码直接从实例发送到客户服务器:/path/
例如:
rsync -avz yourwebfolder/ user@customerserverip:/var/www/
使用CI/CD
2) 您还可以推送到Github或Gitlab,并拥有一个可以运行测试的CI/CD,如果测试通过,则可以直接推送到客户的服务器(为此,您需要在git构建和客户的服务器之间设置ssh密钥)
代码测试总是可选的,但也总是可取的。因此,您可以在不进行任何测试的情况下制作CI/CD
如何使用CI/CD
如果您的存储库位于Github上,请转到该存储库,然后单击操作
,您可以在那里设置工作流。。网上有关于如何设置的教程,这里有一个
Gitlab也有类似的CI/CD部分,您可以在项目根目录中创建一个.Gitlab CI.yml
文件,并使用rsync在其中添加说明。
1) 您可以rsync
将代码直接从实例发送到客户服务器:/path/
例如:
rsync -avz yourwebfolder/ user@customerserverip:/var/www/
使用CI/CD
2) 您还可以推送到Github或Gitlab,并拥有一个可以运行测试的CI/CD,如果测试通过,则可以直接推送到客户的服务器(为此,您需要在git构建和客户的服务器之间设置ssh密钥)
代码测试总是可选的,但也总是可取的。因此,您可以在不进行任何测试的情况下制作CI/CD
如何使用CI/CD
如果您的存储库位于Github上,请转到该存储库,然后单击操作
,您可以在那里设置工作流。。网上有关于如何设置的教程,这里有一个
Gitlab也有类似的CI/CD部分,您可以在项目根目录中创建一个
.Gitlab CI.yml
文件,并在其中添加说明。您可以使用webhook进行创建
要让git pull在每次提交时都在服务器上运行,可以使用Webhooks实现
在GitLab上,转到设置->集成
输入服务器的url和处理webhook的文件。在本教程中,我将创建一个名为gitlab.php的文件,该url将
http://example.com/gitlab.php
输入您的url,确保推送事件是票证,然后单击添加Webook
现在转到服务器并在服务器上创建一个php文件
触摸gitlab.php(您可以将其命名为任何名称,但它与gitlab上的webhook非常匹配)
由于创建的文件没有正确的权限,请使用chmod对其进行更改
chmod 644 gitlab.php
现在用vim编辑文件:
vi gitlab.php
按i键进入编辑模式
类型:
吉特拉力
然后按escape进入读取模式,然后按保存并退出:然后键入wq并输入
通过在文件中使用反勾号,服务器将该文件视为bash脚本
或者,您可以使用system_exec('git pull')
现在在GitLab上进行更改,更改将自动推送到您的服务器。您可以使用webhook进行更改 要让git pull在每次提交时都在服务器上运行,可以使用Webhooks实现 在GitLab上,转到设置->集成 输入服务器的url和处理webhook的文件。在本教程中,我将创建一个名为gitlab.php的文件,该url将
http://example.com/gitlab.php
输入您的url,确保推送事件是票证,然后单击添加Webook
现在转到服务器并在服务器上创建一个php文件
触摸gitlab.php(您可以将其命名为任何名称,但它与gitlab上的webhook非常匹配)
由于创建的文件没有正确的权限,请使用chmod对其进行更改
chmod 644 gitlab.php
现在用vim编辑文件:
vi gitlab.php
按i键进入编辑模式
类型:
吉特拉力
然后按escape进入读取模式,然后按保存并退出:然后键入wq并输入
通过在文件中使用反勾号,服务器将该文件视为bash脚本
或者,您可以使用system_exec('git pull')
现在在GitLab上进行更改,更改将自动推送到您的服务器。使用CircleCI,或者GitHub上也有开源解决方案。但是CircleCI应该是一条路,使用CircleCI或者GitHub上也有开源解决方案。但CircleCI应该是去的路。谢谢。我应该使用哪种CI/CD工具进行此操作?谢谢。我应该使用哪种CI/CD工具进行此操作?您需要避免使用此方法进行强制推送。否则,
git pull
命令将失败。此外,web服务器需要具有更改源代码所在的文件和文件夹的完全权限。您需要避免使用此方法强制推送。否则,git pull
命令将失败。此外,web服务器需要具有更改源代码所在的文件和文件夹的完全权限。