如何在heroku procfile中编写多行命令

问题描述 投票:0回答:2

我在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 以便更好看?

bash shell heroku command-line procfile
2个回答
1
投票

有效

echo \
hello world

不起作用

echo\
hello world

在反斜杠之前添加空格,它应该可以工作。


0
投票

我花了相当多的时间试图让它发挥作用,但得出的结论是这是不可能的。

根据 Procfile 格式文档

Procfile 在单独的行上声明其进程类型

我尝试将命令用引号括起来(单引号和双引号)并使用

sh -c "COMMAND"
,但无法使任何选项正常工作。

因此,我得出结论,无法直接在 Procfile 中执行此操作。

我能想到的最好的选择是将命令抽象到一个单独的文件中,例如(run-web.sh) 看起来像这样:

my-command \
  --foo 1 \
  --bar 2

然后在Procfile中:

web: run-web.sh

确保run-web.sh具有执行权限。

作为旁注,当仅打破多行命令时,必须

\
之前有一个空格。

© www.soinside.com 2019 - 2024. All rights reserved.