name: Deploy App on: push: branches: - master jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Log in to Gitea Registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.oskarmikael.com -u ${{ secrets.REGISTRY_USER }} --password-stdin - name: Build and Push Docker image run: | IMAGE=git.oskarmikael.com/oskarb/scheduler:latest docker buildx build \ -f Dockerfile.prod \ --platform linux/amd64 \ -t $IMAGE \ --push . # - name: Run migrations # run: | # docker compose -f docker-compose.prod.yml run --rm app php artisan migrate --force # - name: Install Composer Dependencies # run: | # docker compose -f docker-compose.prod.yml run --rm composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist # - name: Install Node Dependencies # run: | # docker compose -f docker-compose.prod.yml run --rm app npm install # - name: Build assets # run: | # docker compose -f docker-compose.prod.yml run --rm app npm run build - name: Deploy to LXC uses: appleboy/ssh-action@v0.1.9 with: host: ${{ secrets.PROD_HOST }} username: ${{ secrets.PROD_USER }} key: ${{ secrets.PROD_SSH_KEY }} port: 22 script: | cd /var/www/scheduler git pull origin master /usr/lib/docker/cli-plugins/docker-compose -f docker-compose.prod.yml pull /usr/lib/docker/cli-plugins/docker-compose -f docker-compose.prod.yml up -d /usr/lib/docker/cli-plugins/docker-compose -f docker-compose.prod.yml run --rm app php artisan migrate --force