adopt docker build and push
This commit is contained in:
@@ -53,18 +53,42 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ secrets.DOCKER_REGISTRY }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ secrets.DOCKER_REGISTRY }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build image
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
SHA_SHORT="$(git rev-parse --short HEAD)"
|
||||||
|
FULL_IMAGE="${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }}"
|
||||||
|
|
||||||
export DOCKER_BUILDKIT=1
|
docker build \
|
||||||
docker build ${{ steps.vars.outputs.docker_tags }} ${{ inputs.dockerfile_path }}
|
-t "${FULL_IMAGE}:${SHA_SHORT}" \
|
||||||
|
${{ inputs.dockerfile_path }}
|
||||||
|
|
||||||
IMAGE="${{ steps.vars.outputs.full_image }}"
|
if echo "${{ gitea.ref }}" | grep -q '^refs/tags/v'; then
|
||||||
TAGS="${{ steps.vars.outputs.docker_tags }}"
|
VERSION="${{ gitea.ref_name }}"
|
||||||
|
VERSION="${VERSION#v}"
|
||||||
|
MAJOR="$(echo "$VERSION" | cut -d. -f1)"
|
||||||
|
MINOR="$(echo "$VERSION" | cut -d. -f1,2)"
|
||||||
|
|
||||||
echo "$TAGS" | tr ' ' '\n' | grep "^${IMAGE}:" | while read -r tag; do
|
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:latest"
|
||||||
echo "Pushing $tag"
|
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${VERSION}"
|
||||||
docker push "$tag"
|
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${MINOR}"
|
||||||
done
|
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${MAJOR}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Push image
|
||||||
|
run: |
|
||||||
|
SHA_SHORT="$(git rev-parse --short HEAD)"
|
||||||
|
FULL_IMAGE="${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }}"
|
||||||
|
|
||||||
|
docker push "${FULL_IMAGE}:${SHA_SHORT}"
|
||||||
|
|
||||||
|
if echo "${{ gitea.ref }}" | grep -q '^refs/tags/v'; then
|
||||||
|
VERSION="${{ gitea.ref_name }}"
|
||||||
|
VERSION="${VERSION#v}"
|
||||||
|
MAJOR="$(echo "$VERSION" | cut -d. -f1)"
|
||||||
|
MINOR="$(echo "$VERSION" | cut -d. -f1,2)"
|
||||||
|
|
||||||
|
docker push "${FULL_IMAGE}:latest"
|
||||||
|
docker push "${FULL_IMAGE}:${VERSION}"
|
||||||
|
docker push "${FULL_IMAGE}:${MINOR}"
|
||||||
|
docker push "${FULL_IMAGE}:${MAJOR}"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user