Neste artigo, vamos explorar como criar um arquivo ci.yml para integração contínua de uma aplicação construída com Angular 14 no front-end, Laravel 9 e PHP 8.1 no back-end, banco de dados MySQL 8.30, arquivo de log em texto e um arquivo cd.yml para deploy automatizado em hospedagem compartilhada Hostinger. Com essas configurações, você pode automatizar o processo de construção, teste e implantação de sua aplicação e garantir a qualidade de sua entrega contínua.
Você quer automatizar a integração contínua e o deploy da sua aplicação em Angular, Laravel e MySQL na Hostinger? Então você está no lugar certo! Neste artigo, vou mostrar como criar um arquivo ci.yml para integração contínua e um arquivo cd.yml para deploy automatizado na Hostinger.
Começando pela integração contínua, o arquivo ci.yml abaixo irá ajudá-lo a configurar um ambiente de build e testes para sua aplicação:
# Definição do ambiente
os: ubuntu-latest
language: node_js
node_js: 14
# Instalação de dependências
cache:
npm: true
directories:
- node_modules
# Script de build e testes
script:
- npm install
- ng build --prod
- npm test
# Deploy após sucesso do build e testes
deploy:
provider: heroku
api_key: $HEROKU_API_KEY
app: minha-aplicacao-heroku
on:
branch: main
# Configuração do banco de dados
services:
- mysql
before_install:
- mysql -e 'CREATE DATABASE IF NOT EXISTS minha_base_de_dados;'
- mysql -e 'USE minha_base_de_dados;'
# Configuração de logs
after_failure:
- cat /home/travis/build/minha-conta/minha-aplicacao/logs/test.log
Este arquivo ci.yml assume que você já configurou sua aplicação no Heroku e que tem uma conta na Hostinger com acesso SSH. Lembre-se de substituir minha-aplicacao-heroku com o nome da sua aplicação no Heroku e minha_base_de_dados com o nome da sua base de dados MySQL na Hostinger.
Agora, vamos para o arquivo cd.yml para deploy automatizado. Este arquivo irá automatizar o processo de build, testes e deploy da sua aplicação na Hostinger:
# Definição do ambiente
os: ubuntu-latest
language: node_js
node_js: 14
# Instalação de dependências
cache:
npm: true
directories:
- node_modules
# Script de build e testes
script:
- npm install
- ng build --prod
- npm test
# Deploy após sucesso do build e testes
deploy:
provider: script
skip_cleanup: true
script:
- ssh myuser@myhost "cd /home/myuser/myapp && git pull origin main && composer install && php artisan migrate && npm install && ng build --prod"
Este arquivo cd.yml assume que você já tem sua aplicação no Git e que você configurou a autenticação SSH para permitir que o deploy seja feito sem digitar uma senha. Lembre-se de substituir myuser
, myhost
e /home/myuser/myapp
com as suas informações de conta e caminho de diretório corretos.
Com esses arquivos ci.yml e cd.yml em mãos, você pode automatizar a integração contínua e o deploy da sua aplicação em Angular, Laravel e MySQL na Hostinger. É uma ótima maneira de garantir a qualidade da sua entrega contínua e economizar tempo em processos manuais.
Espero que este artigo tenha sido útil para você e que você possa aplicar essas configurações em suas próprias aplicações. Se você tiver alguma dúvida ou comentário, sinta-se à vontade para deixar um comentário abaixo.
Além disso, é importante lembrar que as configurações apresentadas neste artigo são apenas um exemplo e podem ser adaptadas para suas próprias necessidades. Por exemplo, você pode querer incluir mais etapas no script de build e testes ou configurar uma plataforma de hospedagem diferente.
Conclusão
Por fim, se você está interessado em aprender mais sobre DevOps e entrega contínua, recomendo explorar outras ferramentas e técnicas disponíveis, como Docker, Kubernetes, Jenkins, Travis CI, CircleCI e muito mais. Com essas ferramentas em mãos, você pode automatizar ainda mais processos em seu fluxo de trabalho e tornar sua equipe mais eficiente e produtiva.
Top comments (0)