Refiz e revisei todo o código do .gitlab-ci.yml, mas quando o runner vai executar as migrations do Django, ele acabada dando o erro do host. Pesquisei documentação django e não achei solução. Se alguém puder me ajudar, agradeço! Aqui está o meu código:
#Para cada novo runner, lembrar de trocar o parâmetro priviliged para True no arquivo no config.toml
#E deixar o volume = ["/cache","/var/run/docker.sock:/var/run/docker.sock"]
#Sem essa image, o container do runner não reconhece o comando docker
image: docker:stable
stages:
- pre-build
- build
- test
- deploy
build-docker:
services:
- name: docker:dind
before_script:
- docker info
#Login dockerhub
- docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
stage: pre-build
script:
- docker build -t minha-imagem .
- docker tag minha-imagem lucaszonin/minha-imagem:latest
- docker push lucaszonin/minha-imagem:latest
#Dependências não podem estar no mesmo stage
build-project:
image: lucaszonin/minha-imagem:latest
services:
- docker:dind
- mysql:5.7
variables:
#Criação do banco
MYSQL_USER: devops_dev
MYSQL_PASSWORD: mestre
MYSQL_DATABASE: todo_dev
MYSQL_ROOT_PASSWORD: senha
#Conexão projeto Django
DB_NAME: 'todo_dev'
DB_USER: 'devops_dev'
DB_PASSWORD: 'mestre'
DB_PORT: '3306'
DB_HOST: 'mysql'
SECRET_KEY: 'r*5ltfzw-61ksdm41fuul8+hxs$86yo9%k1%k=(!@=-wv4qtyv'
stage: build
tags:
#Runner configurado na tag
- executor-tarefas
dependencies:
- build-docker
script:
- python manage.py makemigrations
- python manage.py migrate
test-project:
services:
- name: docker:dind
stage: test
dependencies:
- build-project
script:
- echo 'cheguei em teste'