33 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| set -e
 | |
| cd "$(dirname "$0")"
 | |
| 
 | |
| IMAGE="thetadev256/keycloak"
 | |
| 
 | |
| OLD_DIGEST=""
 | |
| if [ -f old_digest ]; then
 | |
| 	OLD_DIGEST=$(cat old_digest)
 | |
| 	echo "old digest: $OLD_DIGEST"
 | |
| fi
 | |
| 
 | |
| CUR_DIGEST=$(curl -Isf https://quay.io/v2/keycloak/keycloak/manifests/latest | awk -v FS=": " '/^docker-content-digest/{print $2}')
 | |
| echo "current digest: $CUR_DIGEST"
 | |
| 
 | |
| if [ "$OLD_DIGEST" != "$CUR_DIGEST" ]; then
 | |
| 	VERSION=$(curl -sf https://quay.io/v2/keycloak/keycloak/manifests/latest | jq -r '.history[0].v1Compatibility' | jq -r '.config.Labels.version')
 | |
| 	echo "version: $VERSION"
 | |
| 
 | |
| 	if [[ "$VERSION" =~ ^([0-9]+)\.([0-9]+)\. ]]; then
 | |
| 		VERSION_MAJOR="${BASH_REMATCH[1]}"
 | |
| 		VERSION_MINOR="${BASH_REMATCH[2]}"
 | |
| 	else
 | |
| 		echo "could not parse version"
 | |
| 		exit 1
 | |
| 	fi
 | |
| 
 | |
| 	docker buildx build --platform linux/amd64,linux/arm64 --push -t "$IMAGE:latest" -t "$IMAGE:$VERSION" -t "$IMAGE:$VERSION_MAJOR" -t "$IMAGE:$VERSION_MAJOR.$VERSION_MINOR" .
 | |
| 
 | |
| 	echo "$CUR_DIGEST" > old_digest
 | |
| 	docker buildx prune -f
 | |
| 	curl "https://gotify.thetadev.de/message?token=$GOTIFY_TOKEN" -F "title=Keycloak image built" -F "message=Version: $VERSION - Digest: $CUR_DIGEST"
 | |
| fi
 |