Enfim, chegamos à última parte dessa série. Se você perdeu a primeira, clique aqui. Agora, vamos fazer o deploy do projeto no Heroku.
Primeiro, vamos criar a conta no Heroku, caso você ainda não tenha uma. Com a conta criada e logada, iremos criar o app no Heroku:
Com o app criado, vamos na aba “Deploy” e selecionamos como “Deployment method” o GitHub:
Com a conta conectada, é hora de selecionar o repositório desejado:
É isso aí! Agora vamos adaptar o .travis.yml para deployar no Heroku em caso de sucesso do build \o/
Para concluir, precisamos:
- Instalar o Travis CLI
- API key do Heroku
A API key você obtém acessando o item de menu “Manage account”. Com um pouco de scroll, você chega lá (=
Bom, agora é adicionar o trecho abaixo, com as devidas alterações, no final do seu .travis.yml:
deploy: provider: heroku api_key: <api-key> app: <heroku-app-name> on: repo: <github-user>/<repo-name>
Opa, temos um problema aqui, né? Não vamos subir uma API key aberta em um repositório público… Precisamos deixá-la segura, e é aqui que entra o Travis CLI que instalamos mais cedo.
Vamos, então, até a raiz do projeto pelo terminal e executamos o comando abaixo:
$ travis encrypt <api-key> --add deploy.api_key
Agora, o trecho de deploy do .travis.yml ficará no formato:
deploy: provider: heroku api_key: secure: <hash-gerado> app: <heroku-app-name> on: repo: <github-user>/<repo-name>
Para finalizar tudo, precisamos criar o Procfile e criar uma task no build.gradle para o Heroku conseguir subir o projeto. Para isso, basta executar os seguintes comandos na raiz do projeto pelo terminal:
$ touch Procfile $ echo "echo "web: java -Dserver.port=\$PORT \$JAVA_OPTS -jar <path-para-jar-do-projeto>" > Procfile
E adicionar a seguinte task ao seu build.gradle:
task stage { dependsOn build }
Prontinho, terminamos! Agora é só commitar essa última alteração e, se tudo correr conforme o esperado, teremos o app deployado no Heroku após ter sucesso no build pelo Travis-CI.
Para referência, segue:
- Repositório da app feita para esta série de posts;
- Histórico de builds no Travic-CI;
- Dashboard no Codacy.com;
- Link para a app rodando no Heroku.
Espero que tenham gostado! Se ficou alguma dúvida, tem sugestão ou acha que tem alguma coisa errada aí, deixe um comentário abaixo. Até a próxima =)