diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 10afdec..34d6e00 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -1,53 +1,23 @@ -name: build-publish - +name: Build and Push Docker Image on: - # run it on push to the default repository branch push: - branches: [develop] - # run it during pull request - pull_request: + branches: + - main jobs: - # define job to build and publish docker image - build-and-push-docker-image: - name: Build Docker image and push to repositories - # run only when code is compiling and tests are passing + build_and_push: runs-on: ubuntu-latest - # steps to perform in job steps: - - name: Checkout code - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v2 - # setup Docker buld action - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v2 + - name: Build Docker Image + run: | + docker build -t myimage:${{ github.sha }} -f ./src/Services/Flight/Dockerfile . - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Login to Docker Hub + run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - - name: Login to Github Packages - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build image and push to Docker Hub and GitHub Container Registry - uses: docker/build-push-action@v2 - with: - # relative path to the place where source code with Dockerfile is located - context: ./src/Services/Flight - # Note: tags has to be all lower-case - tags: | - meysamhadeli/booking-microservices/flight:latest - ghcr.io/meysamhadeli/booking-microservices/flight:latest - # build on feature branches, push only on develop branch - push: ${{ github.ref == 'refs/heads/develop' }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + - name: Push to Docker Hub + run: docker push myimage:${{ github.sha }}