Heroku运行Jar文件一次部署?

时间:2018-04-09 12:46:16

标签: heroku jar heroku-cli heroku-api

我已经使用以下方法将我的jar文件部署到heroku:

java -jar <filename>.jar <param1> <param2>

部署完成后,如何运行带有特定参数的jar文件,即本地执行:

def get_next_optimized(input_word):
    # Collect only animals who are alphabetically greater than input word
    b = [animal for animal in a if animal[0] > input_word[0]]

    return min(b) if len(b) > 0 else ("No value greater than input")

我正确使用Heroku服务吗?本质上,我只需要在jar文件中运行Main命令,并在完成后获取日志。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

heroku deploy:jar <filename>.jar --app <appname>

有了这个,你基本上是硬编码的:

jar <filename>.jar

这是您可以为命令配置参数的示例

https://github.com/NNTin/shell-kun/tree/6b35e4b731bcf500366f60bbceafe076bf969fe1

注意:我们在此处查看旧软件,因为 HEAD 不再拥有它。

您需要Procfileapp.json 和 Heroku Deploy(参见 README.md 中的链接)按钮是可选的。由于您不必接触终端/CLI,它们使部署变得更容易。

本质上,您将 Procfile 扩展到:

web: jar <filename>.jar $ARGS_AND_FLAGS
worker: jar <filename>.jar $ARGS_AND_FLAGS

web 使用 $PORT 时,worker 不使用时。

现在您可以通过编辑环境变量 ARGS_AND_FLAGS 来修改您的命令。

enter image description here

在这种情况下,Web 进程被激活,而工作进程被停用。

enter image description here

更改环境变量后,您可以停用然后激活您的进程。

答案 1 :(得分:0)

在您使用内容运行 Procfile 的同一目录中创建一个 heroku deploy:jar

web: java -jar <filename>.jar <param1> <param2>

并重新部署应用。