【问题标题】:Git post-commit hook written in ruby not running in Git Tower用 ruby​​ 编写的 Git 提交后挂钩未在 Git Tower 中运行
【发布时间】:2013-05-29 04:39:54
【问题描述】:

所以我有一个用 ruby​​ 编写的基本提交后挂钩,并且我已经确认它在我从命令行提交时运行。但是,当我在 Git Tower 中提交时它不会运行,我什至没有看到 Git Tower 出现任何错误。

我的脚本开头是: #!/usr/bin/env ruby 当我从命令行提交时它确实运行正常,所以我知道它不是脚本的问题。我需要做些什么来让我的宝石正确加载吗?

【问题讨论】:

标签: git git-tower


【解决方案1】:

唯一的解释是 Git Tower 不在同一个 shell 和同一个环境中运行。

its FAQ "Are Hook scripts supported in Tower?"

请注意:您的钩子脚本是否依赖于在您的外壳配置文件中创建/修改的外壳环境变量的存在或特定值(例如通过非标准路径扩展“PATH”(例如'~/bin ') 在钩子中从那里运行脚本)?

如果答案是肯定的,那么您需要确保在钩子脚本本身中创建所需的 shell 环境(例如修改“PATH”),而不是在您的 shell 配置文件中,因为调用了钩子脚本来自未在 shell 环境中运行的 Tower 进程环境(因此未加载您的 shell 配置文件)。

在这种情况下,一个简单的 shell 脚本应该是您的提交后挂钩,以便:

  • 适当修改环境
  • 调用您的 ruby​​ 脚本。

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 2015-09-10
    • 1970-01-01
    • 2014-01-03
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多