我得到了托管在gitlab上的项目存储库。我正在使用gitlab-ci从我的项目中构建docker容器。我想实现的是将该容器部署到heroku。从外部注册表部署Docker容器到Heroku
我试图跟踪该问题的解决方案:How to build, test and deploy using Jhipster, Docker, Gitlab and Heroku
这里是我的.gitlab-ci.yaml
看起来像:
stages:
- build
- package
- deploy
build_npm:
image: node:latest
stage: build
script:
- npm install
- npm run build:prod
artifacts:
paths:
- dist/
build_image:
image: docker:latest
services:
- docker:dind
stage: package
script:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
- docker build -t registry.gitlab.com/maciejsobala/myApp .
- docker push registry.gitlab.com/maciejsobala/myApp:latest
deploy_to_heroku:
stage: deploy
services:
- docker:dind
script:
- gem install dpl
- docker run registry.gitlab.com/maciejsobala/myApp:latest
- dpl --provider=heroku --app= myApp --api-key=$HEROKU_API_KEY
我所试图实现的是,有3个阶段:
- 构建:此时,只编译npm项目(今后我想在这里添加一些
jar
) - 包:创建并推送到注册表泊坞镜像。
- 部署:在heroku上安装docker镜像。
我遇到了最后阶段的问题(deploy
)。说实话,我不太确定,这里应该做些什么。
我试图DPL使用,关于本教程:试图运行搬运工图像
$ docker run registry.gitlab.com/maciejsobala/myApp:latest
/bin/bash: line 49: docker: command not found
我完全看不清这里的时候https://docs.gitlab.com/ce/ci/examples/test-and-deploy-ruby-application-to-heroku.html
Unfornatelly我遇到的问题。我真的很感激任何解决方案,指向文章/教程的链接等。
为您完成“build_image”工作,并在您的Gitlab注册表中创建一个全新的图像? –
@DavidSteiman:是的。 –