name: Deploy everything on: push: branches: - main env: CONTAINER_REGISTRY: schmelczera DOMAIN: schmelczer.dev PROJECT_NAME: sdf-2d-demo jobs: build-frontend: runs-on: ubuntu-latest steps: - name: Checkout current branch with lfs uses: actions/checkout@main with: lfs: true - name: Setup auth tokens run: | docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }} - name: Build and push frontend run: | docker build . -t $CONTAINER_REGISTRY/$PROJECT_NAME docker push $CONTAINER_REGISTRY/$PROJECT_NAME deploy: runs-on: ubuntu-latest needs: - build steps: - name: Checkout current branch with lfs uses: actions/checkout@main with: lfs: true - name: Setup auth tokens run: | # SSH key mkdir ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 chmod 400 ~/.ssh/id_ed25519 ssh -o StrictHostKeyChecking=no root@$DOMAIN uptime - name: Stack deploy run: | DOCKER_HOST=ssh://root@$DOMAIN docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }} DOCKER_HOST=ssh://root@$DOMAIN docker stack deploy $PROJECT_NAME -c docker-compose.yml --with-registry-auth