我在 Debian 和 apache/PHP/MySql 上有一个 CVS。我记得不久前我在一个网络上的团队里工作时,提交后我就可以在 php 应用程序中的 Web 服务器上看到更改。
我怎样才能实现这个目标?
谢谢
答案1
您需要一个 Post-commit 钩子来更新(cvs update
)/var/www
或者您的 DocumentRoot 所在的任何地方。
不。
如果它不只是开发服务器,那么这是一个非常糟糕的主意。只需一秒钟就可以提交无效代码,然后你的网站就出问题了。
在这种情况下,明智的做法是我认为,就是使用类似哈德逊CI服务器,并使用 lint、PHPUnit 和 Selenium 运行一系列 PHP 测试,然后用新代码更新 DocumentRoot。
另一个有效的选项是仅当最新版本被“标记”时才允许更新 DocumentRoot,以便标记是一个手动过程,并且仅在代码经过审查/测试后才进行。
答案2
这可以通过编写脚本来实现,该脚本每 X 分钟自动将您的 repo 发布到 Web 服务器一次,该脚本应该只检查存储库是否发生了更改并继续部署它。
这对于开发场景非常有用,但请注意,不建议在生产环境中使用自动部署(我知道你不是这样要求的,这只是一个建议)