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 }} >> .env - name: Docker login run: docker login docker.kleinwizard.nl -u Darius -p ${{ secrets.DOCKER_PASSWORD }} - name: Build the Docker image run: docker build . --file Dockerfile --tag docker.kleinwizard.nl/portfolio:latest - name: Docker push run: docker push docker.kleinwizard.nl/portfolio:latest publish: needs: build runs-on: self-hosted steps: - name: Docker stop run: docker stop portfolioApi || true - name: Docker login run: docker login docker.kleinwizard.nl -u Darius -p ${{ secrets.DOCKER_PASSWORD }} - name: Docker pull run: docker pull docker.kleinwizard.nl/portfolio - name: Docker run run: docker run --rm -d -p 4002:4002 --name portfolioApi docker.kleinwizard.nl/portfolio