尽管设置了执行权限,但 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 开始,默认构建生命周期操作是:
- pre_build
- 建设
- 部署
- post_deploy
当 ssh'd into your gear 时,您可以在 ~/app-root/repo/.openshift/action_hooks
部署版本(默认情况下),并尝试从那里 运行 安装它们。如果它确实是一个权限问题,它会在这里变得明显。
您可以交互式编辑此目录中的文件和 运行 gear deploy
设备上的文件以帮助进行故障排除 - 它应该调用 deploy
和 post_deploy
挂钩当你 运行 这个命令时。
我在 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 开始,默认构建生命周期操作是:
- pre_build
- 建设
- 部署
- post_deploy
当 ssh'd into your gear 时,您可以在 ~/app-root/repo/.openshift/action_hooks
部署版本(默认情况下),并尝试从那里 运行 安装它们。如果它确实是一个权限问题,它会在这里变得明显。
您可以交互式编辑此目录中的文件和 运行 gear deploy
设备上的文件以帮助进行故障排除 - 它应该调用 deploy
和 post_deploy
挂钩当你 运行 这个命令时。