|
1 |
| -name: Release |
| 1 | +name: release |
| 2 | + |
2 | 3 | on:
|
3 | 4 | push:
|
4 | 5 | tags:
|
5 | 6 | - 'v*.*.*'
|
6 |
| - |
| 7 | + |
7 | 8 | env:
|
8 | 9 | DOCKER_USER: ${{ secrets.DOCKER_USER }}
|
9 | 10 | DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
10 | 11 | REPO_NAME: ${{ secrets.REPO_NAME }}
|
11 | 12 | RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
|
12 | 13 |
|
13 | 14 | jobs:
|
14 |
| - push-image-to-docker-hub: # job name |
15 |
| - runs-on: ubuntu-latest # runner name : (ubuntu latest version) |
| 15 | + push_to_registry: |
| 16 | + name: Push Docker image to Docker Hub |
| 17 | + runs-on: ubuntu-latest |
16 | 18 | steps:
|
17 |
| - - uses: actions/checkout@v2 # first action : checkout source code |
18 |
| - - name: docker login |
19 |
| - run: | # log into docker hub account |
20 |
| - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD |
21 |
| - - name: Get current date # get the date of the build |
22 |
| - id: date |
23 |
| - run: echo "::set-output name=date::$(date +'%Y-%m-%d--%M-%S')" |
24 |
| - - name: Build the Docker image # push The image to the docker hub |
25 |
| - run: docker build . --file build/Dockerfile --tag $DOCKER_USER/$REPO_NAME:$RELEASE_VERSION |
26 |
| - - name: Docker Push |
27 |
| - run: docker push $DOCKER_USER/$REPO_NAME:$RELEASE_VERSION |
| 19 | + - name: Check out the repo |
| 20 | + uses: actions/checkout@v3 |
| 21 | + |
| 22 | + - name: Log in to Docker Hub |
| 23 | + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a |
| 24 | + with: |
| 25 | + username: $DOCKER_USER |
| 26 | + password: $DOCKER_PASSWORD |
| 27 | + |
| 28 | + - name: Extract metadata (tags, labels) for Docker |
| 29 | + id: meta |
| 30 | + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 |
| 31 | + with: |
| 32 | + images: $DOCKER_USER/$REPO_NAME |
| 33 | + |
| 34 | + - name: Build and push Docker image |
| 35 | + uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 |
| 36 | + with: |
| 37 | + context: . |
| 38 | + file: ./build/Dockerfile |
| 39 | + push: true |
| 40 | + tags: $RELEASE_VERSION |
| 41 | + labels: ${{ steps.meta.outputs.labels }} |
0 commit comments