Split build.sh to build and docker image creation
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
JREVERSION=25.0.2-0
|
|
||||||
|
|
||||||
export VERSION=$(git describe --tags --exact-match 2>/dev/null \
|
export VERSION=$(git describe --tags --exact-match 2>/dev/null \
|
||||||
|| git symbolic-ref --short -q HEAD \
|
|| git symbolic-ref --short -q HEAD \
|
||||||
|| git rev-parse --short HEAD)
|
|| git rev-parse --short HEAD)
|
||||||
@@ -11,36 +9,9 @@ GITHASH=$(git rev-parse --short=8 HEAD)
|
|||||||
|
|
||||||
export VERSION_LONG=${VERSION}_${GITHASH}
|
export VERSION_LONG=${VERSION}_${GITHASH}
|
||||||
|
|
||||||
# Build this artifact
|
|
||||||
echo "Building 'NenjimHub v${VERSION_LONG}'..."
|
echo "Building 'NenjimHub v${VERSION_LONG}'..."
|
||||||
./gradlew -Pversion=$VERSION jar prepareLibs
|
|
||||||
|
|
||||||
# Prepare container dependencies
|
./gradlew \
|
||||||
mkdir -p build/docker/{conf,libs}
|
-Pversion=${VERSION} \
|
||||||
cd build/docker
|
jar \
|
||||||
cp ../../src/main/docker/run.sh run.sh
|
prepareLibs
|
||||||
cp ../libs/*.jar libs/
|
|
||||||
cp ../../conf/* conf/
|
|
||||||
sed -e "s|_VERSION_|${VERSION}|g" \
|
|
||||||
-e "s|_JREVERSION_|${JREVERSION}|g" \
|
|
||||||
../../src/main/docker/Dockerfile_template > Dockerfile
|
|
||||||
|
|
||||||
# Build the container
|
|
||||||
GROUP=r35157
|
|
||||||
NAME=nenjimhub
|
|
||||||
BASETAG=dockerreg.r35157.com/${GROUP}/${NAME}
|
|
||||||
HASHTAG=${BASETAG}:${GITHASH}_amd64
|
|
||||||
VERSIONTAG=${BASETAG}:${VERSION}_amd64
|
|
||||||
LATESTTAG=${BASETAG}:latest_amd64
|
|
||||||
CANONICALNAME=${HASHTAG}
|
|
||||||
|
|
||||||
docker build -t ${CANONICALNAME} .
|
|
||||||
docker tag ${CANONICALNAME} ${VERSIONTAG}
|
|
||||||
docker tag ${CANONICALNAME} ${LATESTTAG}
|
|
||||||
|
|
||||||
# Prepare publishing script
|
|
||||||
sed -e "s|_HASHTAG_|${HASHTAG}|g" \
|
|
||||||
-e "s|_VERSIONTAG_|${VERSIONTAG}|g" \
|
|
||||||
-e "s|_LATESTTAG_|${LATESTTAG}|g" \
|
|
||||||
../../src/main/docker/publish_template.sh > publish.sh
|
|
||||||
chmod 755 publish.sh
|
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
JREVERSION=25.0.2-0
|
||||||
|
|
||||||
|
export VERSION=$(git describe --tags --exact-match 2>/dev/null \
|
||||||
|
|| git symbolic-ref --short -q HEAD \
|
||||||
|
|| git rev-parse --short HEAD)
|
||||||
|
|
||||||
|
GITHASH=$(git rev-parse --short=8 HEAD)
|
||||||
|
|
||||||
|
echo "Preparing Docker image for '${VERSION}'..."
|
||||||
|
|
||||||
|
mkdir -p build/docker/{conf,libs}
|
||||||
|
|
||||||
|
cp src/main/docker/run.sh build/docker/run.sh
|
||||||
|
cp libs/*.jar build/docker/libs/
|
||||||
|
cp conf/* build/docker/conf/
|
||||||
|
|
||||||
|
sed \
|
||||||
|
-e "s|_VERSION_|${VERSION}|g" \
|
||||||
|
-e "s|_JREVERSION_|${JREVERSION}|g" \
|
||||||
|
src/main/docker/Dockerfile_template \
|
||||||
|
> build/docker/Dockerfile
|
||||||
|
|
||||||
|
GROUP=r35157
|
||||||
|
NAME=nenjimhub
|
||||||
|
|
||||||
|
BASETAG=dockerreg.r35157.com/${GROUP}/${NAME}
|
||||||
|
|
||||||
|
HASHTAG=${BASETAG}:${GITHASH}_amd64
|
||||||
|
VERSIONTAG=${BASETAG}:${VERSION}_amd64
|
||||||
|
LATESTTAG=${BASETAG}:latest_amd64
|
||||||
|
|
||||||
|
echo "Building ${HASHTAG}..."
|
||||||
|
|
||||||
|
docker build \
|
||||||
|
-t ${HASHTAG} \
|
||||||
|
build/docker
|
||||||
|
|
||||||
|
docker tag ${HASHTAG} ${VERSIONTAG}
|
||||||
|
docker tag ${HASHTAG} ${LATESTTAG}
|
||||||
|
|
||||||
|
sed \
|
||||||
|
-e "s|_HASHTAG_|${HASHTAG}|g" \
|
||||||
|
-e "s|_VERSIONTAG_|${VERSIONTAG}|g" \
|
||||||
|
-e "s|_LATESTTAG_|${LATESTTAG}|g" \
|
||||||
|
src/main/docker/publish_template.sh \
|
||||||
|
> build/docker/publish.sh
|
||||||
|
|
||||||
|
chmod 755 build/docker/publish.sh
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Docker image ready:"
|
||||||
|
echo " ${HASHTAG}"
|
||||||
|
echo " ${VERSIONTAG}"
|
||||||
|
echo " ${LATESTTAG}"
|
||||||
|
|
||||||
Reference in New Issue
Block a user