30 lines
1.1 KiB
YAML
30 lines
1.1 KiB
YAML
name: Base DNS Docker Image CI/CD Build
|
|
on: [push]
|
|
|
|
jobs:
|
|
build-docker-image:
|
|
runs-on: main
|
|
env:
|
|
CONTAINER_NAME: "${{ vars.CONTAINER_REGISTRY_HOSTNAME }}/dns/base"
|
|
MAJOR_VERSION: 0
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
- name: Build Docker image with run number tag
|
|
run: |
|
|
docker build \
|
|
--tag $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }} \
|
|
--no-cache .
|
|
- name: Push Docker image with run number tag
|
|
run: |
|
|
docker push $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }}
|
|
- name: Tag and push Docker image as latest if on master branch
|
|
if: github.ref == 'refs/heads/master'
|
|
run: |
|
|
docker tag $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }} $CONTAINER_NAME:latest
|
|
docker push $CONTAINER_NAME:latest
|
|
- name: Clean up docker images
|
|
run: |
|
|
docker rmi $CONTAINER_NAME:latest || true # Avoid failure if 'latest' tag does not exist
|
|
docker rmi $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }}
|