我在heroku procfile中有一个很长的命令行,想将其分成多行。
使用像下面这样的反斜杠没有帮助...
过程文件:
web: java -Dserver.port=$PORT\
-Djavax.net.ssl.keyStoreType=pkcs12\
-Djavax.net.ssl.keyStore=$SOAP_SSL_KEYSTORE_PATH\
-Djavax.net.ssl.keyStorePassword=$SOAP_SSL_KEYSTORE_PASSWORD\
$JAVA_OPTS -jar pwr-mobile-rest-api-jar/target/pwr-mobile-rest-api-jar-runnable.jar
如何格式化 procfile 以便更好看?
有效
echo \
hello world
不起作用
echo\
hello world
在反斜杠之前添加空格,它应该可以工作。
我花了相当多的时间试图让它发挥作用,但得出的结论是这是不可能的。
Procfile 在单独的行上声明其进程类型
我尝试将命令用引号括起来(单引号和双引号)并使用
sh -c "COMMAND"
,但无法使任何选项正常工作。
因此,我得出结论,无法直接在 Procfile 中执行此操作。
我能想到的最好的选择是将命令抽象到一个单独的文件中,例如(run-web.sh) 看起来像这样:
my-command \
--foo 1 \
--bar 2
然后在Procfile中:
web: run-web.sh
确保run-web.sh具有执行权限。
作为旁注,当仅打破多行命令时,必须在
\
之前有一个空格。