name: build and deploy portfolio on: push: branches: [ "master" ] pull_request: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: 'Create env file' run: | touch .env echo DB_STRING=${{ secrets.DB_STRING }} >> api/.env - name: Build the Docker image run: docker compose build - name: Docker push run: docker push docker.dariusklein.nl/portfolio-api:latest publish: needs: build runs-on: self-hosted steps: - uses: actions/checkout@v3 with: sparse-checkout: | docker-compose.yml - name: copy file run: mv docker-compose.yml /home/darius/portfolio - name: Docker login run: docker login docker.kleinwizard.nl -u Darius -p ${{ secrets.DOCKER_PASSWORD }} - name: Docker pull run: | cd /home/darius/portfolio docker compose pull - name: Docker run run: | cd /home/darius/portfolio docker compose up -d