【发布时间】:2020-08-24 19:20:21
【问题描述】:
我正在尝试在 Heroku(Discord JDA、Maven)上托管一个不和谐机器人。我通过连接到 Github 然后部署来做到这一点。机器人“部署”(查看附件)但实际上并没有工作(查看附件)。
我可能做错了什么,或者有其他人遇到过类似的问题吗?
【问题讨论】:
-
你怎么知道它不起作用?错误在哪里? yoyu可以显示部署bot的日志吗?
标签: heroku discord-jda
我正在尝试在 Heroku(Discord JDA、Maven)上托管一个不和谐机器人。我通过连接到 Github 然后部署来做到这一点。机器人“部署”(查看附件)但实际上并没有工作(查看附件)。
我可能做错了什么,或者有其他人遇到过类似的问题吗?
【问题讨论】:
标签: heroku discord-jda
可能的解决方案:
设置一个 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"
}
【讨论】:
快速而肮脏的部署方式:
您需要在此处设置一个 Procfile,详细信息:https://devcenter.heroku.com/articles/procfile
procfile 基本上是一个没有扩展名的文件,它告诉测功机如何执行您的程序。
一个简单的
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
然后启动它(假设你想要一个工人测功机,这是不和谐应该需要的)
$ heroku ps:scale -a <YOUR_HEROKU_APP_NAME> worker=1
然后停止它:
$ heroku ps:scale -a <YOUR_HEROKU_APP_NAME> worker=0
我发现这比使用 git 简单得多,尤其是在您进行测试或简单/快速的事情时。
【讨论】: