我正在尝试在Heroku(Discord JDA,Maven)上托管一个不和谐的bot。我通过连接到Github然后进行部署来做到这一点。机器人“部署”(查看附件),但实际上不起作用(查看附件)。
我可能在做错什么,还是其他人遇到类似的问题?
答案 0 :(得分:0)
快速而肮脏的部署方式:
您需要在此处设置Procfile以及广泛的信息:https://devcenter.heroku.com/articles/procfile
procfile基本上是没有扩展名的文件,它告诉dyno如何执行程序。
一个简单的
worker: java $JAVA_OPTS -jar <PATH_TO_JAR>
如果您不需要更多配置,将会很好用,请参阅该链接以获取更多信息。
然后您可以像这样部署它(将procfile和jar放在同一目录下很好):
$ heroku deploy:jar -a <YOUR_HEROKU_APP_NAME> --jdk <JDK_VERSION> --jar <PATH_TO_JAR> -i Procfile
然后启动它就可以了(假设您想要一个工人dyno,这是不和谐所需要的)
$ heroku ps:scale -a <YOUR_HEROKU_APP_NAME> worker=1
然后使用以下命令将其停止:
$ heroku ps:scale -a <YOUR_HEROKU_APP_NAME> worker=0
我发现这比使用git简单得多,尤其是在进行测试或简单/快速的工作时。
答案 1 :(得分:0)
可能的解决方案:
设置Procfile。 Procfile基本上告诉Heroku在部署应用程序时要运行什么命令。在Procfile中,写入worker: node index.js
。另外,请确保Procfile的大写字母为“ P”。
设置package.json。
npm初始化
然后只需跳过设置,即可自动创建文件。 重要。在package.json文件中,添加您的节点和npm版本。
node -v
npm -v
然后在package.json中键入此内容。
"engines": {
node: "your-version-here"
npm: "your-version-here"
}