【发布时间】:2012-12-25 02:50:06
【问题描述】:
我们正在尝试使用 Git、GitHub 和 PHP 在 Cpanel/WHM 服务器上自动部署我们的 Web 应用程序。
我已经尝试使用下面文章中的信息在我们的服务器上设置一个部署脚本,当我们推送到存储库时 GitHub 会发布到该脚本。
https://gist.github.com/1809044
不幸的是,apache 以“nobody”身份运行脚本的事实似乎阻止了脚本运行。我们以账户用户的身份创建了 SSH 密钥,但 git pull 命令没有运行。
有没有什么方法可以在部署钩子上成功地从 GitHub 拉出一个 git repo 并在不安装像 Jenkins 这样复杂的东西的情况下对其进行更新?
【问题讨论】:
-
Jenkins 的安装或使用并不复杂。对于一个简单的案例,它可以在几分钟内完成设置。
-
您也许可以使用 setuid 或 setguid 脚本。
-
我们在另一个网络上安装了 Jenkins,所以我们熟悉使用它进行部署。虽然它比简单的 PHP 脚本更复杂,但我们只是希望设置一些简单的东西,以便我们可以在较小的网站上使用。
-
我可以使用setuid或setguid将ID设置为nobody吗?我们的网络服务器以无人身份运行脚本,而不是以帐户的用户名身份运行。这似乎是我们最大的问题。
标签: php git deployment github cpanel