我有许多PHP网站,它们位于不同的服务器(云中的LAMP服务器)中。它们是来自不同客户的不同网站,但我在所有网站中都使用了一些通用代码。所有这些公共代码我都放在一个common_code_Folder中,我将其用作带有类、控制器、函数等的库。
结构如下:
Server 1
> Common_Code_Folder
> Root_Folder
> Code Website 1
Server 2
> Common_Code_Folder
> Root_Folder
> Code Website 2
Server 3
> Common_Code_Folder
> Root_Folder
> Code Website 3
等等。。。
当我更改Common_Code文件夹中的任何内容时,我正在寻找一个更智能的解决方案来部署它。
我现在做的事:
当我更改Common_Code文件夹中的任何文件时,我需要用FTP连接所有网站,并上传所有网站的Common_Code文件夹。如果我有15个网站,我需要做15次!
有没有办法实现自动化?也许是GIT?也许是部署代码?
要同步您的代码,我建议:
- 将
Common_Code_Folder
中的代码放入GIT存储库中 - 使用脚本部署新版本拉取新代码(
git pull
) - 该脚本可以根据需要手动执行,也可以由cron执行
如果您的代码可以访问数据库,那么脚本(例如PHP脚本)也应该是
- 检查数据库更改
- 应用数据库迁移
然后,即使数据库发生更改,您的自动部署过程也会安全运行。
由于这个通用代码是自定义PHP代码的库,您也可以通过composer更新它。然后,您的通用代码将安装在目录vendor
中。这是一种常见的做法,例如在Yii2框架中。