У меня установлен gitlab-runner на моем промежуточном сервере, и в моем проекте у меня есть этот gitlab-ci.yml:
image: upmcedlp/gitlab-dind-node-java
services:
- docker:dind
stages:
- ver
- init
- tests
- deploy
before_script:
- echo "---------- DOCKER LOGIN"
- docker login -u myusername -p "mypwd" registry.gitlab.com
ver:
stage: ver
script:
- whoami
init:
stage: init
script:
- npm install
testing:
stage: tests
script:
- npm test
deploy_staging:
stage: deploy
script:
- echo "---------- START DEPLOYING STAGING SERVER"
- echo "-> 1) build image"
- docker build -t registry.gitlab.com/admiralcrunch/portal_ci .
- echo "-> 2) push image to registry"
- docker push registry.gitlab.com/admiralcrunch/portal_ci
- echo "-> 3) kill old container"
- docker kill $(docker ps -q) || true
- docker rm $(docker ps -a -q) || true
- echo "-> 4) start new container"
- docker run -dt -p 3000:3000 --name portal registry.gitlab.com/admiralcrunch/portal_ci
- echo "########## END DEPLOYING DOCKER IMAGE"
environment:
name: staging
url: https://stage.latronic.com
only:
- master
deploy_production_1:
stage: deploy
script:
- echo "Deployed to production server 1"
environment:
when: manual
only:
- master
deploy_production_2:
stage: deploy
script:
- echo "Deployed to production server 2"
environment:
when: manual
only:
- master
Он работает, и я вижу, как - в deploy_staging
процессы были убиты, а docker run -dt -p 3000:3000 --name portal admiralcrunch/portal_ci
gots выполнены без ошибок.Также я вижу «рабочий» -контейнер, который gitlab-runner создает на промежуточном сервере.
, но когда все закончено, контейнер не работает (?).Это почему?Что я делаю неправильно?я что-то пропустил?