diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..a7873f1 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,39 @@ +name: Deploy Laravel App + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: self-hosted + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts + + - name: Deploy to server + run: | + ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF' + set -e + cd ${{ vars.DEPLOY_PATH }} + + git pull origin main + + composer install --no-dev --optimize-autoloader + + php artisan config:cache + php artisan route:cache + php artisan view:cache + + chmod -R 775 storage bootstrap/cache + + sudo systemctl reload php${{ vars.PHP_VERSION }}-fpm + EOF diff --git a/compose.yaml b/compose.yaml index c194926..bcb4a7e 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,12 +1,12 @@ services: laravel.test: build: - context: './vendor/laravel/sail/runtimes/8.5' + context: './vendor/laravel/sail/runtimes/8.4' dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' MYSQL_CLIENT: mariadb-client - image: 'sail-8.5/app' + image: 'sail-8.4/app' extra_hosts: - 'host.docker.internal:host-gateway' ports: