当我在OpenShift中创建一个测试DIY应用程序时,action_hooks
工作正常,但现在我创建了一个实际的应用程序,当我推动更改时它们就不会触发。
我做了一些调查,我发现了问题 - 由于某种原因,动作挂钩不可执行。我检查过,它们在测试应用程序中可执行(他们工作的地方) - 但现在他们不是。
chmod
它们没有帮助,因为每次我推送一些更改时,OpenShift会将旧的repo文件夹复制到旧的(而不是使用git来更新它),因此权限会被重置。我研究了使用git的post-receive
钩子来使它们可执行,但OpenShift上的git钩子受到保护,我无法编辑它们。
有什么方法可以解决这个问题吗?
PS。我不知道它是否有任何影响,但我的实际开发回购是在Google Code上,我使用this tutorial将OpenShift仓库设置为我本地仓库的上游。
答案 0 :(得分:4)
在JBoss Tools的OpenShift工具中,我们遇到了同样的问题。我们的实现是重置钩子文件的执行权限,导致钩子被忽略:https://issues.jboss.org/browse/JBIDE-13217 在我们的情况下,在这些上再次使用+ x解决了这个问题。你似乎报告了一些复制品被复制在你的上面,我真的没有。这怎么发生在你身上?如果您可以显示一些设置,它会有所帮助吗?
答案 1 :(得分:1)
好的,我明白了。
当我创建应用程序时,我没有编辑动作钩子,而是从第一个应用程序的repo(我创建的应用程序中看到试用OpenShift DIY)复制了动作挂钩。我认为发生的事情是Git检测到文件被替换而不是编辑并将它们视为新文件。 OpenShift以某种方式读取了这个,并没有给它们原始文件的执行权限。
为了解决这个问题,我跟着this answer从OpenShift Template Builder的提交中恢复旧文件,现在它可以正常工作了!