-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Uma opção que o Travis CI possui é a automatização no deploy da aplicação.
Percebi, que o Bot está hospedado no Heroku, o travis tem suporte com o serviço de hospedagem o que facilita na configuração do deploy.
Configuração Básica de deploy para Heroku:
deploy:
provider: heroku
api_key: ...
app: my-app-name-123
Além disso, o Travis CI está com uma nova feature que são os Builds Stages. A função das Builds Stages é fazer uma "integração" entre diferentes jobs. Por exemplo, estou a testar minha aplicação em 4 diferentes versões de Python e eu quero que o Travis faça o deploy se, e somente se, os testes derem "Okaay" e os jobs forem relacionados ao merge da Branch Master. Daí, o CI só irá executar o deploy no momento que os testes estiverem concluídos e os jobs forem relacionado a branch master:
Configuração Básica de Build Stages
jobs:
include:
- stage: Deploy Heroku
if: branch == master
python: 3.6
script: echo "Deploy App to Heroku"
deploy: &heroku
provider: heroku
# ...Exemplo com Docker:
Um exemplo do arquivo de configuração de um projeto real-world para dockerhub:
language: python
sudo: true
install:
- pip install -r requirements.txt
python:
- "3.4"
- "3.5"
- "3.6"
script:
- pytest
jobs:
include:
- stage: Deploy Docker Hub
if: branch = docker-branch
python: 3.6
script: echo "Deploy to DockerHub"
script:
- docker build -t surfse-api .
- docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"
- docker push "$DOCKER_REPO"
notifications:
email: false