Marcio, não vi nenhum grande problema no arquivo não, só alguns espaços, o retry: 2
que não é preciso no build-project, e a versão do docker:dind
no build-project que não foi especificado a versão correta que é na verdade docker:19.03.0-dind, no o código ficou assim:
image: docker:19.03.0
stages:
- pre-build
- build
- test
- deploy
- notificacao
build-docker:
services:
- docker:19.03.0-dind
retry: 2
before_script:
- docker info
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
stage: pre-build
script:
- docker build -t minha-imagem .
- docker tag minha-imagem kurokimac/minha-imagem:latest
- docker push kurokimac/minha-imagem:latest
build-project:
image: kurokimac/minha-imagem:latest
services:
- docker:19.03.0-dind
- mysql:5.7
variables:
MYSQL_USER: $DB_USER
MYSQL_PASSWORD: $DB_PASSWORD
MYSQL_DATABASE: $DB_DATABASE
MYSQL_ROOT_PASSWORD: $DB_ROOT_PASSWORD
DB_NAME: $DB_DATABASE
DB_USER: $DB_USER
DB_PASSWORD: $DB_PASSWORD
DB_PORT: '3306'
DB_HOST: 'mysql'
SECRET_KEY: $DB_SECRET_KEY
stage: build
tags:
- executor-tarefas
dependencies:
- build-docker
script:
- python manage.py makemigrations
- python manage.py migrate
test-project:
image: kurokimac/minha-imagem:latest
stage: test
services:
- docker:19.03.0-dind
- mysql:5.7
variables:
MYSQL_USER: $DB_USER
MYSQL_PASSWORD: $DB_PASSWORD
MYSQL_DATABASE: $DB_DATABASE
MYSQL_ROOT_PASSWORD: $DB_ROOT_PASSWORD
DB_NAME: $DB_DATABASE
DB_USER: $DB_USER
DB_PASSWORD: $DB_PASSWORD
DB_PORT: '3306'
DB_HOST: 'mysql'
SECRET_KEY: $DB_SECRET_KEY
dependencies:
- build-project
tags:
- executor-tarefas
script:
- python -m unittest setUp
deploy-project:
stage: deploy
tags:
- executor-deploy
dependencies:
- test-project
script:
- tar cfz arquivos.tgz *
- scp arquivos.tgz marciokuroki@192.168.100.9:/Users/Shared/deploy/
- ssh marciokuroki@192.168.100.9 'cd /Users/Shared/deploy/; tar xfz arquivos.tgz; /usr/local/bin/docker-compose up -d'
notificacao-sucesso:
stage: notificacao
tags:
- executor-deploy
when: on_success
script:
- sh notificacaoSucesso.sh
notificacao-falha:
stage: notificacao
tags:
- executor-deploy
when: on_failure
script:
- sh notificacaoFalha.sh
Tenta usando esse código e fala pra gente o resultado!