1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00
cdt/docker/deploy-images.sh
Jonah Graham dfdc174b6d Update and refactor Dockerfiles to newer Ubuntu
The docker images all have new, simpler names and use Ubuntu 20.04
(instead of 18.04) as their base.

A few new tools have been added, specifically what is needed for:

- Linux on RISC-V - see #980
- Winodows on ARM - see #969

Fixes #976
2024-12-28 10:48:30 -05:00

38 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
set -eux
if ! git diff-index HEAD --quiet; then
echo "git tree is dirty, please commit changes before deploying images"
exit 1
fi
namespace=${1:-quay.io/eclipse-cdt}
shorthash=$(git rev-parse --short HEAD)
toplevel=$(git rev-parse --show-toplevel)
images="cdt-infra:latest cdt-infra-jipp:latest cdt-infra-github:latest"
$toplevel/docker/build-images.sh
for image in $images; do
docker tag $image ${namespace}/${image}-${shorthash}
docker push ${namespace}/${image}-${shorthash}
nameonly=$(echo $image | sed -es,:.*,,)
docker tag $image ${namespace}/${nameonly}:latest
docker push ${namespace}/${nameonly}:latest
done
echo "The following images have been pushed."
for image in $images; do
hashname=$(docker inspect --format='{{index .RepoDigests 0}}' $image)
echo $image "-->" $hashname
nameonly=$(echo $image | sed -es,:.*,,)
find $toplevel -name \*\.Jenkinsfile -or -name \*\.yaml -or -name \*\.yml | while read file; do
sed -i "s#image: $namespace/$nameonly[:@].*#image: $hashname#" $file
git add $file
done
done
echo "Finished pushing to $namespace with tag hash $shorthash"
git commit -m"Update images to Dockerfiles from commit $shorthash"
echo "The .yaml and .Jenkinsfiles have been updated to new image and committed, now Push!"