【问题标题】:Running a git post-commit hook运行 git post-commit 钩子
【发布时间】:2013-01-06 05:20:32
【问题描述】:

我在本地运行 MAMP。我有一个 php 脚本,用于构建网站、生成静态 HTML 文件,然后将其推送到 Web 服务器。

这个过程很像 github 页面上的 Jekyll。

现在,我只需更改 Markdown 文件(我的内容),然后点击本地 url,localhost/mysite/build,生成 html 文件。很简单。

我确实在本地安装了 git 来对 PHP 脚本本身以及 markdown 文件进行版本控制。

理想情况下,我想创建一个提交后挂钩,它会简单地“ping”构建 URL 以使其运行。

几件事。我一直在尝试,但提交后没有运行 URL。 我想在 post-commit 文件中使用 PHP,可以吗?我还不需要任何验证或任何东西,只是想在我提交时调用 URL 以使进程运行。

我已经完成了 chmod 以确保脚本是可执行的。

提交后文件名为“post-commit”,没有扩展名。

我想我可以只添加一个简单的行,例如 file_get_contents(myurl) 或类似的东西。

我已经在谷歌上搜索了几个小时,发现了一些接近但不完全正确的东西。它真的很简单,只是一个带有 git hooks 的菜鸟。

谢谢。

【问题讨论】:

    标签: php git githooks post-commit post-commit-hook


    【解决方案1】:

    提交挂钩是 shell 脚本,因此绝对可以运行 php 脚本(就像您从 cmd 行执行的操作一样)或使用 curl:curl --request GET --url http://stackoverflow.com -v 向您的 URL 发出请求以触发构建。根据构建时间,您可能希望在后台运行 curl。

    首先,尝试准备一个运行构建的 shell 脚本。然后设置钩子本身。请参阅 Simple git post-commit hook to copy committed files to a certain folder 作为示例钩子。

    【讨论】:

    • 谢谢!那做了我需要的。看起来我需要学习一些 shell 脚本。 :)
    猜你喜欢
    • 1970-01-01
    • 2012-03-09
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    相关资源
    最近更新 更多