|
2 | 2 | BASE_IMAGE=alpine:3.16.1
|
3 | 3 |
|
4 | 4 | usage() {
|
5 |
| - me=`basename "$0"` |
6 |
| - echo >&2 "Usage: $me [--help] [--tag TAG] [--gerrit-url URL] [--base-image IMAGE] [IMAGE]" |
7 |
| - exit 1 |
| 5 | + me=$(basename "$0") |
| 6 | + echo >&2 "Usage: $me [--help] [--tag TAG] [--gerrit-url URL] [--base-image IMAGE] [IMAGE]" |
| 7 | + exit 1 |
8 | 8 | }
|
9 | 9 |
|
10 |
| -while test $# -gt 0 ; do |
11 |
| - case "$1" in |
12 |
| - --help) |
13 |
| - usage |
14 |
| - ;; |
15 |
| - |
16 |
| - --tag) |
17 |
| - shift |
18 |
| - TAG=$1 |
19 |
| - shift |
20 |
| - ;; |
21 |
| - |
22 |
| - --gerrit-url) |
23 |
| - shift |
24 |
| - GERRIT_WAR_URL=$1 |
25 |
| - shift |
26 |
| - ;; |
27 |
| - |
28 |
| - --healthcheck-jar-url) |
29 |
| - shift |
30 |
| - HEALTHCHECK_JAR_URL=$1 |
31 |
| - shift |
32 |
| - ;; |
33 |
| - |
34 |
| - --base-image) |
35 |
| - shift |
36 |
| - BASE_IMAGE=$1 |
37 |
| - shift |
38 |
| - ;; |
39 |
| - |
40 |
| - *) |
41 |
| - break |
42 |
| - esac |
| 10 | +while test $# -gt 0; do |
| 11 | + case "$1" in |
| 12 | + --help) |
| 13 | + usage |
| 14 | + ;; |
| 15 | + |
| 16 | + --tag) |
| 17 | + shift |
| 18 | + TAG=$1 |
| 19 | + shift |
| 20 | + ;; |
| 21 | + |
| 22 | + --gerrit-url) |
| 23 | + shift |
| 24 | + GERRIT_WAR_URL=$1 |
| 25 | + shift |
| 26 | + ;; |
| 27 | + |
| 28 | + --healthcheck-jar-url) |
| 29 | + shift |
| 30 | + HEALTHCHECK_JAR_URL=$1 |
| 31 | + shift |
| 32 | + ;; |
| 33 | + |
| 34 | + --base-image) |
| 35 | + shift |
| 36 | + BASE_IMAGE=$1 |
| 37 | + shift |
| 38 | + ;; |
| 39 | + |
| 40 | + *) |
| 41 | + break |
| 42 | + ;; |
| 43 | + esac |
43 | 44 | done
|
44 | 45 |
|
45 | 46 | #Get list of images
|
46 | 47 | source container-images/publish_list
|
47 | 48 | IMAGES=$(get_image_list)
|
48 | 49 |
|
49 | 50 | if test -n "$GERRIT_WAR_URL"; then
|
50 |
| - BUILD_ARGS="--build-arg GERRIT_WAR_URL=$GERRIT_WAR_URL" |
| 51 | + BUILD_ARGS="--build-arg GERRIT_WAR_URL=$GERRIT_WAR_URL" |
51 | 52 | fi
|
52 | 53 |
|
53 | 54 | if test -n "$HEALTHCHECK_JAR_URL"; then
|
54 |
| - BUILD_ARGS="$BUILD_ARGS --build-arg HEALTHCHECK_JAR_URL=$HEALTHCHECK_JAR_URL" |
| 55 | + BUILD_ARGS="$BUILD_ARGS --build-arg HEALTHCHECK_JAR_URL=$HEALTHCHECK_JAR_URL" |
55 | 56 | fi
|
56 | 57 |
|
57 | 58 | export REV="$(git describe --always --dirty)"
|
58 | 59 |
|
59 |
| -docker_build(){ |
60 |
| - IMAGE=$1 |
61 |
| - |
62 |
| - docker build \ |
63 |
| - --platform=linux/amd64 \ |
64 |
| - --build-arg TAG=$REV \ |
65 |
| - -t k8sgerrit/$IMAGE:$TAG \ |
66 |
| - ./container-images/$IMAGE |
67 |
| - |
68 |
| - if test $? -ne 0; then |
69 |
| - REPORT="$REPORT Failed: k8sgerrit/$IMAGE.\n" |
70 |
| - RETURN_CODE=1 |
71 |
| - else |
72 |
| - REPORT="$REPORT Success: k8sgerrit/$IMAGE:$TAG\n" |
73 |
| - fi |
| 60 | +docker_build() { |
| 61 | + IMAGE=$1 |
| 62 | + |
| 63 | + docker build \ |
| 64 | + --platform=linux/amd64 \ |
| 65 | + --build-arg TAG=$REV \ |
| 66 | + -t k8sgerrit/$IMAGE:$TAG \ |
| 67 | + ./container-images/$IMAGE |
| 68 | + |
| 69 | + if test $? -ne 0; then |
| 70 | + REPORT="$REPORT Failed: k8sgerrit/$IMAGE.\n" |
| 71 | + RETURN_CODE=1 |
| 72 | + else |
| 73 | + REPORT="$REPORT Success: k8sgerrit/$IMAGE:$TAG\n" |
| 74 | + fi |
74 | 75 | }
|
75 | 76 |
|
76 |
| -docker_build_gerrit_base(){ |
77 |
| - BUILD_ARGS="$BUILD_ARGS --build-arg TAG=$REV" |
78 |
| - docker build \ |
79 |
| - --platform=linux/amd64 \ |
80 |
| - $BUILD_ARGS \ |
81 |
| - -t gerrit-base:$REV \ |
82 |
| - ./container-images/gerrit-base |
83 |
| - if test $? -ne 0; then |
84 |
| - echo -e "\n\nFailed to build gerrit-base image." |
85 |
| - exit 1 |
86 |
| - fi |
87 |
| - |
88 |
| - if test -z "$TAG"; then |
89 |
| - export TAG="$(create_image_tag)" |
90 |
| - fi |
| 77 | +docker_build_gerrit_base() { |
| 78 | + BUILD_ARGS="$BUILD_ARGS --build-arg TAG=$REV" |
| 79 | + docker build \ |
| 80 | + --platform=linux/amd64 \ |
| 81 | + $BUILD_ARGS \ |
| 82 | + -t gerrit-base:$REV \ |
| 83 | + ./container-images/gerrit-base |
| 84 | + if test $? -ne 0; then |
| 85 | + echo -e "\n\nFailed to build gerrit-base image." |
| 86 | + exit 1 |
| 87 | + fi |
| 88 | + |
| 89 | + if test -z "$TAG"; then |
| 90 | + export TAG="$(create_image_tag)" |
| 91 | + fi |
91 | 92 | }
|
92 | 93 |
|
93 |
| -create_image_tag(){ |
94 |
| - GERRIT_VERSION=$(docker run --platform=linux/amd64 --entrypoint "/bin/sh" gerrit-base:$REV \ |
95 |
| - -c "java -jar /var/gerrit/bin/gerrit.war version") |
96 |
| - GERRIT_VERSION=$(echo "${GERRIT_VERSION##*$'\n'}" | cut -d' ' -f3 | tr -d '[:space:]') |
97 |
| - echo "$REV-$GERRIT_VERSION" |
| 94 | +create_image_tag() { |
| 95 | + GERRIT_VERSION=$(docker run --platform=linux/amd64 --entrypoint "/bin/sh" gerrit-base:$REV \ |
| 96 | + -c "java -jar /var/gerrit/bin/gerrit.war version") |
| 97 | + GERRIT_VERSION=$(echo "${GERRIT_VERSION##*$'\n'}" | cut -d' ' -f3 | tr -d '[:space:]') |
| 98 | + echo "$REV-$GERRIT_VERSION" |
98 | 99 | }
|
99 | 100 |
|
100 | 101 | REPORT="Build results: \n"
|
101 | 102 | RETURN_CODE=0
|
102 | 103 |
|
103 |
| -docker build --build-arg BASE_IMAGE="$BASE_IMAGE" --platform=linux/amd64 -t base:$REV ./container-images/base |
| 104 | +if test -n "$BASE_IMAGE"; then |
| 105 | + BASE_BUILD_ARGS="--build-arg BASE_IMAGE=$BASE_IMAGE" |
| 106 | +fi |
| 107 | + |
| 108 | +docker build $BASE_BUILD_ARGS --platform=linux/amd64 -t base:$REV ./container-images/base |
104 | 109 | if test $? -ne 0; then
|
105 |
| - echo -e "\n\nFailed to build base image." |
106 |
| - exit 1 |
| 110 | + echo -e "\n\nFailed to build base image." |
| 111 | + exit 1 |
107 | 112 | fi
|
108 | 113 |
|
109 |
| -if test $# -eq 0 ; then |
110 |
| - docker_build_gerrit_base |
111 |
| - for IMAGE in $IMAGES; do |
112 |
| - docker_build $IMAGE |
113 |
| - done |
| 114 | +if test $# -eq 0; then |
| 115 | + docker_build_gerrit_base |
| 116 | + for IMAGE in $IMAGES; do |
| 117 | + docker_build $IMAGE |
| 118 | + done |
114 | 119 | else
|
115 |
| - while test $# -gt 0 ; do |
116 |
| - if [[ $1 = gerrit-* ]]; then |
117 |
| - docker_build_gerrit_base |
118 |
| - else |
119 |
| - if test -z "$TAG"; then |
120 |
| - TAG="$(git describe --always --dirty)-unknown" |
121 |
| - fi |
122 |
| - echo -e "\nNo Image containing Gerrit will be built." \ |
123 |
| - "The Gerrit-version can thus not be determinded." \ |
124 |
| - "Using tag $TAG\n" |
125 |
| - fi |
126 |
| - docker_build $1 |
127 |
| - shift |
128 |
| - done |
| 120 | + while test $# -gt 0; do |
| 121 | + if [[ $1 = gerrit-* ]]; then |
| 122 | + docker_build_gerrit_base |
| 123 | + else |
| 124 | + if test -z "$TAG"; then |
| 125 | + TAG="$(git describe --always --dirty)-unknown" |
| 126 | + fi |
| 127 | + echo -e "\nNo Image containing Gerrit will be built." \ |
| 128 | + "The Gerrit-version can thus not be determinded." \ |
| 129 | + "Using tag $TAG\n" |
| 130 | + fi |
| 131 | + docker_build $1 |
| 132 | + shift |
| 133 | + done |
129 | 134 | fi
|
130 | 135 |
|
131 | 136 | echo -e "\n\n$REPORT"
|
|
0 commit comments