20
20
set -o errexit
21
21
set -o pipefail
22
22
set -o nounset
23
- cd " $( dirname " $0 " ) "
23
+
24
+ pushd .
25
+ cd " $( dirname " $0 " ) /../../../../.."
26
+ trap popd EXIT
24
27
25
28
TRIAL_IMAGES=${1:- " " }
26
29
EXPERIMENTS=${2:- " " }
@@ -48,14 +51,7 @@ _build_containers() {
48
51
done
49
52
50
53
echo -e " \nBuilding $CONTAINER_NAME image with $DOCKERFILE ...\n"
51
- docker buildx build --platform " $( uname -m) " --load -t " $REGISTRY /$CONTAINER_NAME :$TAG " -f " ../../../../../$DOCKERFILE " ../../../../../
52
- }
53
-
54
- _load_minikube_cluster () {
55
- CONTAINER_NAME=${1:- " katib-controller" }
56
-
57
- echo -e " \n\nLoading $CONTAINER_NAME image...\n\n"
58
- minikube image load " $REGISTRY /$CONTAINER_NAME :$TAG "
54
+ DOCKER_BUILDKIT=1 minikube image build --build-opt platform=linux/amd64 --all -t " $REGISTRY /$CONTAINER_NAME :$TAG " -f " $DOCKERFILE " .
59
55
}
60
56
61
57
_install_tools () {
@@ -66,11 +62,6 @@ _install_tools() {
66
62
fi
67
63
}
68
64
69
- cleanup_build_cache () {
70
- echo -e " \nCleanup Build Cache...\n"
71
- docker builder prune
72
- }
73
-
74
65
run () {
75
66
CONTAINER_NAME=${1:- " katib-controller" }
76
67
DOCKERFILE=${2:- " $CMD_PREFIX /katib-controller/$VERSION /Dockerfile" }
@@ -85,10 +76,10 @@ run() {
85
76
# Search for Suggestion Images required for Trial.
86
77
for exp_name in " ${EXPERIMENT_ARRAY[@]} " ; do
87
78
88
- exp_path=$( find ../../../../../ examples/v1beta1 -name " ${exp_name} .yaml" )
79
+ exp_path=$( find examples/v1beta1 -name " ${exp_name} .yaml" )
89
80
algorithm_name=" $( yq eval ' .spec.algorithm.algorithmName' " $exp_path " ) "
90
81
91
- suggestion_image_name=" $( yq eval ' .data.suggestion' ../../../../../ manifests/v1beta1/components/controller/katib-config.yaml |
82
+ suggestion_image_name=" $( yq eval ' .data.suggestion' manifests/v1beta1/components/controller/katib-config.yaml |
92
83
algorithm_name=$algorithm_name yq eval ' .[env(algorithm_name)].image' | cut -d: -f1) "
93
84
suggestion_name=" $( basename " $suggestion_image_name " ) "
94
85
@@ -99,7 +90,6 @@ run() {
99
90
for s in " ${suggestions[@]} " ; do
100
91
if [ " $s " == " $CONTAINER_NAME " ]; then
101
92
_build_containers " $CONTAINER_NAME " " $DOCKERFILE "
102
- _load_minikube_cluster " $CONTAINER_NAME "
103
93
break
104
94
fi
105
95
done
@@ -112,10 +102,10 @@ run() {
112
102
# Search for EarlyStopping Images required for Trial.
113
103
for exp_name in " ${EXPERIMENT_ARRAY[@]} " ; do
114
104
115
- exp_path=$( find ../../../../../ examples/v1beta1 -name " ${exp_name} .yaml" )
105
+ exp_path=$( find examples/v1beta1 -name " ${exp_name} .yaml" )
116
106
algorithm_name=" $( yq eval ' .spec.earlyStopping.algorithmName' " $exp_path " ) "
117
107
118
- earlystopping_image_name=" $( yq eval ' .data.early-stopping' ../../../../../ manifests/v1beta1/components/controller/katib-config.yaml |
108
+ earlystopping_image_name=" $( yq eval ' .data.early-stopping' manifests/v1beta1/components/controller/katib-config.yaml |
119
109
algorithm_name=$algorithm_name yq eval ' .[env(algorithm_name)].image' | cut -d: -f1) "
120
110
earlystopping_name=" $( basename " $earlystopping_image_name " ) "
121
111
@@ -126,15 +116,13 @@ run() {
126
116
for e in " ${earlystoppings[@]} " ; do
127
117
if [ " $e " == " $CONTAINER_NAME " ]; then
128
118
_build_containers " $CONTAINER_NAME " " $DOCKERFILE "
129
- _load_minikube_cluster " $CONTAINER_NAME "
130
119
break
131
120
fi
132
121
done
133
122
134
123
# Others
135
124
else
136
125
_build_containers " $CONTAINER_NAME " " $DOCKERFILE "
137
- _load_minikube_cluster " $CONTAINER_NAME "
138
126
fi
139
127
}
140
128
153
141
run " cert-generator" " $CMD_PREFIX /cert-generator/$VERSION /Dockerfile"
154
142
run " file-metrics-collector" " $CMD_PREFIX /metricscollector/$VERSION /file-metricscollector/Dockerfile"
155
143
run " tfevent-metrics-collector" " $CMD_PREFIX /metricscollector/$VERSION /tfevent-metricscollector/Dockerfile"
156
- cleanup_build_cache
157
144
158
145
# Suggestion images
159
146
echo -e " \nBuilding suggestion images..."
@@ -165,18 +152,18 @@ run "suggestion-optuna" "$CMD_PREFIX/suggestion/optuna/$VERSION/Dockerfile"
165
152
run " suggestion-pbt" " $CMD_PREFIX /suggestion/pbt/$VERSION /Dockerfile"
166
153
run " suggestion-enas" " $CMD_PREFIX /suggestion/nas/enas/$VERSION /Dockerfile"
167
154
run " suggestion-darts" " $CMD_PREFIX /suggestion/nas/darts/$VERSION /Dockerfile"
168
- cleanup_build_cache
169
155
170
156
# Early stopping images
171
157
echo -e " \nBuilding early stopping images...\n"
172
158
run " earlystopping-medianstop" " $CMD_PREFIX /earlystopping/medianstop/$VERSION /Dockerfile"
173
- cleanup_build_cache
174
159
175
160
# Training container images
176
161
echo -e " \nBuilding training container images..."
177
162
for name in " ${TRIAL_IMAGE_ARRAY[@]} " ; do
178
163
run " $name " " examples/$VERSION /trial-images/$name /Dockerfile"
179
164
done
180
- cleanup_build_cache
165
+
166
+ echo -e " \nCleanup Build Cache...\n"
167
+ docker buildx prune -f
181
168
182
169
echo -e " \nAll Katib images with ${TAG} tag have been built successfully!\n"
0 commit comments