72 lines
2.2 KiB
Bash
Executable File
72 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
cd $PROJECTPATH
|
|
|
|
# AMD64 Build
|
|
if [[ $ARCH == *"amd64"* ]]; then
|
|
docker buildx build \
|
|
$( [[ $BUILDCACHE == "no" ]] && echo "--no-cache" ) \
|
|
--platform linux/amd64 \
|
|
--file "$DFAMD64" \
|
|
-t "$REPO/$PROJECTNAME:$VERSION-amd64" \
|
|
$( [[ $LATEST == "yes" ]] && echo "-t $REPO/$PROJECTNAME:latest-amd64" ) \
|
|
--push .
|
|
fi
|
|
|
|
# ARM64 Build
|
|
if [[ $ARCH == *"arm64"* ]]; then
|
|
docker buildx build \
|
|
$( [[ $BUILDCACHE == "no" ]] && echo "--no-cache" ) \
|
|
--platform linux/arm64 \
|
|
--file "$DFARM64" \
|
|
-t "$REPO/$PROJECTNAME:$VERSION-arm64" \
|
|
$( [[ $LATEST == "yes" ]] && echo "-t $REPO/$PROJECTNAME:latest-arm64" ) \
|
|
--push .
|
|
fi
|
|
|
|
# 386 Build
|
|
if [[ $ARCH == *"386"* ]]; then
|
|
docker buildx build \
|
|
$( [[ $BUILDCACHE == "no" ]] && echo "--no-cache" ) \
|
|
--platform linux/386 \
|
|
--file "$DF386" \
|
|
-t "$REPO/$PROJECTNAME:$VERSION-386" \
|
|
$( [[ $LATEST == "yes" ]] && echo "-t $REPO/$PROJECTNAME:latest-386" ) \
|
|
--push .
|
|
fi
|
|
|
|
# Manifest erstellen und pushen
|
|
if [[ $PUSH == "yes" ]]; then
|
|
# Manifest für Version
|
|
docker manifest create "$REPO/$PROJECTNAME:$VERSION" \
|
|
$( [[ $ARCH == *"amd64"* ]] && echo "--amend $REPO/$PROJECTNAME:$VERSION-amd64" ) \
|
|
$( [[ $ARCH == *"arm64"* ]] && echo "--amend $REPO/$PROJECTNAME:$VERSION-arm64" ) \
|
|
$( [[ $ARCH == *"386"* ]] && echo "--amend $REPO/$PROJECTNAME:$VERSION-386" )
|
|
|
|
docker manifest push "$REPO/$PROJECTNAME:$VERSION"
|
|
|
|
# Manifest für "latest"
|
|
if [[ $LATEST == "yes" ]]; then
|
|
docker manifest create "$REPO/$PROJECTNAME:latest" \
|
|
$( [[ $ARCH == *"amd64"* ]] && echo "--amend $REPO/$PROJECTNAME:latest-amd64" ) \
|
|
$( [[ $ARCH == *"arm64"* ]] && echo "--amend $REPO/$PROJECTNAME:latest-arm64" ) \
|
|
$( [[ $ARCH == *"386"* ]] && echo "--amend $REPO/$PROJECTNAME:latest-386" )
|
|
|
|
docker manifest push "$REPO/$PROJECTNAME:latest"
|
|
fi
|
|
fi
|
|
|
|
echo "Build und Deployment abgeschlossen."
|
|
|
|
cd ../..
|
|
|
|
###if [ $EXIT_CODE -eq 0 ]; then
|
|
echo "Image build successfull"
|
|
if [[ $INCREASE = "yes" ]]; then
|
|
sv=$(sed -n '4p' "$PROJECT_CONF")
|
|
svn=$((sv + 1))
|
|
sed -i "4s/.*/$svn/" "$PROJECT_CONF"
|
|
fi
|
|
##else
|
|
## echo "ERROR in build-process: $EXIT_CODE"
|