name: build-publish-docker on: push: branches: [ develop ] pull_request: jobs: build-and-push-docker-image: name: Build and Publish Docker image to DockerHub runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Determine next semantic version id: determine-version uses: actions/determine-next-semver@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Build image run: | echo "ENV VERSION={{ steps.determine-version.outputs.next-version }}" docker build -t meysamh66/booking-microservices-flight:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . docker build -t meysamh66/booking-microservices-identity:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . docker build -t meysamh66/booking-microservices-passenger:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . docker build -t meysamh66/booking-microservices-booking:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | docker push meysamh66/booking-microservices-flight:${{ steps.determine-version.outputs.next-version }} docker push meysamh66/booking-microservices-identity:${{ steps.determine-version.outputs.next-version }} docker push meysamh66/booking-microservices-passenger:${{ steps.determine-version.outputs.next-version }} docker push meysamh66/booking-microservices-booking:${{ steps.determine-version.outputs.next-version }}