gpt4 book ai didi

heroku - 在不使用heroku docker插件的情况下将docker部署到heroku

转载 作者:行者123 更新时间:2023-12-02 18:33:04 25 4
gpt4 key购买 nike

假设我正在一个Web项目上运行一个Web项目,该项目在自己的ci服务器上运行gitlab-ci ShellRunner来构建docker并将其部署到heroku,并且我浏览了gitlab和heroku的一些文档,例如gitlab-ci: using docker buildheroku:Build and Deploy with Docker。我可以在不使用heroku-docker插件的情况下部署docker项目吗?但是我尝试过,以下方法构建成功部署到heroku,但是应用程序崩溃。 Heroku日志说package.json中缺少start脚本,但是由于我正在部署docker项目,所以我不能在那里执行"start": "docker-compose up",可以吗?

    #.gitlab-ci.yml
stages:
- deploy
before_script:
- npm install
- bower install
dev:
stage: deploy
script:
- docker-compose run nginx run-test
- gem install dpl
- dpl --provider=heroku --app=xixi-web-dev --api-key=$HEROKU_API_KEY
only:
- dev
    # docker-compose.yml
app:
build: .
volumes:
- .:/code:ro
expose:
- "3000"
working_dir: /code
command: pm2 start app.dev.json5

nginx:
build: ./setup/nginx
restart: always
volumes:
- ./setup/nginx/sites-enabled:/etc/nginx/sites-enabled:ro
- ./dist:/var/app:ro
ports:
- "$PORT:80"
links:
- app

我不想使用heroku docker插件,因为它似乎不太灵活,我不能创建 app.json,因为我不想为我的应用程序使用现有的docker镜像。相反,我为 Dockerfile中使用的 appnginx定义了自定义 docker-compose.yml

现在看来,除非我使用heroku docker插件部署它,否则heroku不会将我的项目检测为docker项目,但是如上所述,我无法做到这一点。那我在heroku或gitlab上缺少的任何文档可以帮助我吗?还是您有任何可能有用的想法?非常感谢!

最佳答案

OK,似乎heroku docker:release是必需的。我最终在CI服务器上安装了heroku cli和heroku docker插件,并使用heroku docker:release --app app释放了我的应用程序

关于heroku - 在不使用heroku docker插件的情况下将docker部署到heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33771685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com