我得到了託管在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:是的。 –