diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..0844718 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,49 @@ +name: Docker Image CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Git Semantic Version + uses: PaulHatch/semantic-version@v4.0.3 + with: + major_pattern: "major:" + minor_pattern: "feat:" + format: "${major}.${minor}.${patch}-prerelease${increment}" + id: version + + - name: Docker Login + env: + DOCKER_USER: ${{ secrets.DOCKER_USER }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + + run: | + docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + + - name: Build Docker Image + env: + NEW_VERSION: ${{ steps.version.outputs.version }} + run: | + docker build -t airepublico/innovancebackend:$NEW_VERSION . + docker build -t airepublico/innovancebackend:latest . + + - name: Push Docker Image + env: + NEW_VERSION: ${{ steps.version.outputs.version }} + run: | + docker push airepublico/innovancebackend:$NEW_VERSION + docker push airepublico/innovancebackend:latest