【发布时间】:2020-02-10 23:03:06
【问题描述】:
对于一个学校项目,我想在 Heroku 上部署我们的应用程序。该应用程序由前端组成,使用 reactjs 制作,并编译为静态 html,然后由后端提供服务,该后端还处理 API 和其他所有内容。
dockerfile 工作正常,当在 repo 中时,启动 make docker 并且图像将被构建并启动。继续localhost:8080,您应该会看到登录提示。如果出现错误,则需要一个包含以下内容的 .env 文件
FLASK_DEBUG=True
FLASK_SECRET_KEY=ThisIsADevelopmentKey
FRONT_STATIC_FOLDER=../../frontend/build
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
然后使用docker run --env-file .env --name pymatcha --restart=always -p 8080:5000 -d pymatcha再次启动映像
问题是,当我推送到我的 PR 时,Heroku 创建了一个预览应用程序,但我收到了 Python 错误。要么完全缺少 python3.7,要么缺少 venv 或 ensurepip。为了反驳这一点,我尝试使用 Aptfile buildpack 添加 Aptfile,但它没有用。向上移动 Python buildpack。
有谁知道更好的解决方案可以轻松部署到我的项目 heroku 中?在 heroku 的构建过程中使用我们的 makefile 还是通过在 travis 中将 docker 映像推送到 heroku?
关于我的问题的有用链接: Repository
【问题讨论】:
-
嗨!欢迎链接,但它们也可能被破坏。因此,您应该在 SO 帖子中直接包含您的文件内容。
-
你说得对,我认为我最终不会删除这些文件。找到解决方案后,我会更新帖子/解决它(可能与 aws 一起使用)
标签: python docker heroku makefile