如何在 'cf push' 期间为 Node 应用程序保留文件的执行位?

How can I preserve execute bits for files during 'cf push' for Node apps?

我需要推送一个将执行 bash 脚本的节点应用程序,并且脚本文件需要设置执行位。 cf 命令行实用程序可以让我设置执行权限吗?

如果没有,我可以在我的应用程序的暂存周期中设置执行权限位吗?

设置了执行位的脚本在被推送时也会设置它。

如果您需要调用脚本作为暂存或推送应用程序的一部分,有两种选择:

在暂存期间调用脚本

package.json 到 运行 脚本中使用 scripts.preinstall 暂存 (在 npm install 期间,请参阅 here 以获得更多选项),并将该脚本包含在您的应用程序中:

"scripts": {
  "start": "node app.js",
  "preinstall": "./configure"
},

暂存后调用脚本

如果脚本可以在应用启动前运行,但在暂存后,使用.profile.d。在您的应用程序在容器中启动之前(暂存之后),bash shell 将 运行 您的 .profile.d 文件夹中的所有脚本。

例如,我可以有一个 my_app/.profile.d/aScript.sh 文件:

export key=valuechmod +x some_file