尽管设置了执行权限,但 OpenShift Node.js 应用程序的操作挂钩未执行

Action hook for OpenShift Node.js app does not execute, despite setting execute permission

我在 OpenShift 上创建了一个新的 Node.js 应用程序。我添加了一个 post_deploy shell 脚本操作挂钩和 运行 git update-index --chmod=+x post_deploy.sh 来为脚本添加执行权限。然后我提交并将更改推送到我的 OpenShift 存储库。

在部署期间,动作挂钩不是 运行。我通过 ssh 进入我的 OpenShift 应用程序,我能够从命令行 运行 脚本。我在 action_hooks 目录中 运行 ls -l 并注意到 post_deploy.sh 的权限是 -rwx------。如果我的理解是正确的,那意味着该脚本仅对所有者具有可执行权限。是否需要全部设置执行权限?这可能是我的操作挂钩在部署时不执行的原因吗?

如何让我的操作挂钩在部署期间执行?

我猜你的文件名是错误的。它应该是 post_deploy 而不是 post_deploy.sh。尝试重命名它,看看它是否有效。


action hooks documentation 开始,默认构建生命周期操作是:

  1. pre_build
  2. 建设
  3. 部署
  4. post_deploy

ssh'd into your gear 时,您可以在 ~/app-root/repo/.openshift/action_hooks 部署版本(默认情况下),并尝试从那里 运行 安装它们。如果它确实是一个权限问题,它会在这里变得明显。

您可以交互式编辑此目录中的文件和 运行 gear deploy 设备上的文件以帮助进行故障排除 - 它应该调用 deploypost_deploy 挂钩当你 运行 这个命令时。