-
Notifications
You must be signed in to change notification settings - Fork 2
Upload no Docker
| Autor | Data |
|---|---|
| Álax Alves | 09/06 |
| Álax Alves | 13/06 |
deploy:
- provider: script
script: bash scripts/sh/docker-deploy.sh
on:
branch: master
O stage de deploy do travis reconhece o Docker por default, porém foi escolhido realizá-lo atráves de um script específico, no caso o docker-deploy.sh já que são feitas configurações adicionais.
O script pode ser visto abaixo:
#!/bin/bash
# Represents the latest version of the project according to setup.py file
VERSION=$(python setup.py --version)
echo "Latest Simian version is $VERSION";
# double validation in script and in .travis.yml
if [[ "${TRAVIS_BRANCH}" == "master" ]]; then
echo "Deploying to Docker registry latest Simian...";
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD";
docker build -f /home/travis/build/Desenho2018-1/simian/scripts/docker/Dockerfile -t simian:"$VERSION" .;
docker tag simian:$VERSION $DOCKER_USERNAME/simian:$VERSION;
docker push alaxalves/simian:"$VERSION";
else
echo "Skipping Docker registry deploy";
fi;
Aqui temos que obtém-se a última versão do Simian a partir do arquivo setup.py, de maneira que é feita uma nova validação da branch em shell, se estivermos na branch master então é realizado um upload da última versão do Simian no registry.
-
Crie uma conta no DockerHub
-
Ative a sua conta através do link fornecido no email registrado.
-
Crie um script Dockerfile com comandos necessários a construção do seu ambiente.
-
Gere uma imagem da sua aplicação
docker build -t nome-de-usuario/nome-da-imagem:versao-da-imagem -f caminho/do/dockerfile .
- Faça login no docker através do terminal
docker login
- Suba sua imagem para o seu registry
docker push nome-de-usuario/nome-da-imagem:versao-da-imagem
Confira sua mais nova imagem em https://hub.docker.com/r/nome-de-usuario/nome-da-imagem/
-
Escreva um script que execute os passos para deploy.
-
Tendo configurado uma primeira vez o Upload no Docker, coloque em seu
.travis.ymla seguinte task, por exemplo.
deploy:
- provider: script
script: caminho/para/o/seu/script.sh
on:
branch: master
E Pronto! Está configurado o deploy no DockerHub.