PHP、FTP 和源代码控制系统

时间:2021-07-06 22:14:11

标签: php git svn version-control ftp

在我们的程序员团队中,我们正在寻找一种方法来通过实施版本控制来改进我们的工作。

我们目前使用的是tortoise SVN,很方便,但仍有一些地方没有管理

例如:我们需要修改example.com网站的一些.php脚本(我们用notepad++来做),在tortoise SVN仓库我们新建一个文件夹,修改文件,然后用filezilla传输example.com ftp内修改后的文件

有没有办法将两者结合起来?编辑脚本 php + ftp 传输?

考虑到我们管理的站点不止一个,而且所有站点显然都依赖于 ftp 服务器,该服务器应该反映创建的生产存储库。

我们可以采用什么解决方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用一个脚本来部署您的更改,例如在存储库中部署 df['Sector_y'] = np.where(df['Sector_y'] =='', df['Sector_x'], df['Sector_y']) ,可能带有一个参数来指定要部署的一个或多个站点。当您进行更改并准备部署时,您可以自己运行该命令,或者让自动化系统运行它。如果您有某种方式在将代码合并到主干(或 Git 中的主分支)时自动运行代码,则可以实现后者。如果您拥有共享凭据,那么让自动化系统执行此操作会更好,因为您不想将它们签入存储库(因为这是不安全的),并且您需要一个安全的位置来存储它们。

使用 Git,您可以在旧版本和新版本之间执行 script/deploy 以查找哪些目录(以及哪些站点)已更改,并仅部署这些。我不确定如何使用 SVN 做到这一点,但可能有一种方法。

当然,有多种 CI/CD 系统可以为您处理此问题并允许您高效地编写脚本,此外还提供一种安全的方式来存储凭据并使用环境注入它们。他们还可以运行您拥有的任何自动化测试,您可能希望进行代码审查。 CI/CD 系统还可以在部署前检查是否满足这些要求。

我应该指出,总的来说,使用 FTP 并不是一个好主意,因为实际上很难将 TLS 与它一起使用(由于许多损坏的实现),并且通过未加密的连接部署代码并不真正负责,因为任何人可以篡改它。 SFTP 可能在您的环境中可用,如果可用,它会更安全;如果没有,请务必验证 TLS 是否正确配置为处理控制和数据连接。