Skip to content

feat: deploy para aws #18

feat: deploy para aws

feat: deploy para aws #18

Workflow file for this run

name: Build & Deploy Laravel API (Sem Docker)
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout código
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
extensions: mbstring, pdo_mysql, zip, gd
coverage: none
- name: Deploy via rsync
uses: easingthemes/ssh-deploy@main
with:
SSH_PRIVATE_KEY: ${{ secrets.EC2_PROD_PRIVATE_KEY }}
ARGS: "-avz --delete --exclude-from=.rsync-exclude"
SOURCE: "./"
REMOTE_HOST: ${{ secrets.EC2_PROD_HOST }}
REMOTE_USER: ubuntu
REMOTE_PORT: 22
TARGET: "/var/www/cronos/backend"
- name: Configurar GitHub token para Composer
run: composer config --global github-oauth.github.com ${{ secrets.PAT_GLOBAL_COMPONENTS }}
- name: Pós-deploy (EC2)
uses: appleboy/ssh-action@v0.1.5
with:
host: ${{ secrets.EC2_PROD_HOST }}
username: ubuntu
key: ${{ secrets.EC2_PROD_PRIVATE_KEY }}
script: |
cd /var/www/cronos/backend
sudo composer install --no-dev --optimize-autoloader
echo "Ajustando permissões..."
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
echo "Rodando migrations..."
sudo php artisan migrate --force
echo "Limpando cache..."
sudo php artisan optimize:clear
sudo php artisan optimize
echo "Reiniciando serviços..."
sudo systemctl reload php8.2-fpm
sudo systemctl reload nginx
echo "✅ Deploy finalizado"