Skip to content

Commit 238ec5b

Browse files
committed
SQ
1 parent 6a807b3 commit 238ec5b

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

automation/entry_scripts/balena-deploy-block.sh

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,19 @@ if [ "$ESR" = "true" ]; then
2222
APPNAME="${APPNAME}-esr"
2323
fi
2424

25+
# Use /deploy folder to generate compose file to use local images that live there
2526
# Use a release dir to limit context
26-
RELEASE_DIR="/deploy/release"
27-
mkdir "${RELEASE_DIR}"
27+
RELEASE_DIR=$(balena_docker_create_compose_file "${MACHINE}" "${API_ENV}" "${RELEASE_VERSION}" "${BALENAOS_TOKEN}" "${BLOCKS}" "/deploy")
28+
if [ ! -f "${RELEASE_DIR}/docker-compose.yml" ]; then
29+
echo "[ERROR] Failed to generate compose file"
30+
exit 1
31+
fi
32+
2833
if [ -f "/deploy/balena.yml" ]; then
2934
cp "/deploy/balena.yml" "${RELEASE_DIR}"
3035
echo -e "\nversion: $(balena_lib_get_os_version)" >> "${RELEASE_DIR}/balena.yml"
3136
fi
3237

33-
# use /deploy folder to generate compose file to use local images that live there
34-
balena_docker_create_compose_file "${MACHINE}" "${API_ENV}" "${RELEASE_VERSION}" "${BALENAOS_TOKEN}" "${BLOCKS}" "/deploy"
35-
if [ ! -f "/deploy/docker-compose.yml" ]; then
36-
echo "[ERROR] Failed to generate compose file"
37-
exit 1
38-
else
39-
cp "/deploy/docker-compose.yml" "${RELEASE_DIR}"
40-
fi
41-
4238
echo "[INFO] Deploying to ${BALENAOS_ACCOUNT}/$APPNAME"
4339
balena_api_create_public_app "${APPNAME}" "${BALENARC_BALENA_URL}" "${MACHINE}" "${balenaCloudEmail}" "${balenaCloudPassword}" "${ESR}" "${BOOTABLE}"
4440
_releaseID=$(balena_lib_release "${BALENAOS_ACCOUNT}/$APPNAME" "${FINAL}" "${RELEASE_DIR}" "${API_ENV}")

automation/include/balena-docker.inc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,9 @@ __add_compose_service() {
216216
if [ "${_image}" = "*/*:*" ]; then
217217
printf " image: %s\n" "${_image}" >> "${_path}/docker-compose.yml"
218218
else
219-
printf " build: ./\n" >> "${_path}/docker-compose.yml"
220-
echo "FROM ${_image}" > "${_path}/Dockerfile"
219+
printf " build: %s\n" "${_service_name}" >> "${_path}/docker-compose.yml"
220+
mkdir "${_path}/${_service_name}"
221+
echo "FROM ${_image}" > "${_path}/${_service_name}/Dockerfile"
221222
fi
222223
printf " labels:\n" >> "${_path}/docker-compose.yml"
223224
if [ -n "${_image_class}" ]; then
@@ -262,11 +263,13 @@ balena_docker_create_compose_file() {
262263
local _image_id
263264
local _local_image
264265
local _bootable
266+
local _release_path="${_work_dir}/release"
265267

266268
[ -z "${_device_type}" ] && return
267269
_version=${_version:-$(balena_lib_get_os_version)}
268270
_apiEnv=${_apiEnv:-"balena-cloud.com"}
269271

272+
mkdir -p "${_release_path}"
270273
[ -z "${_blocks}" ] && >&2 echo "Blocks are required" && return 1
271274
for _block in ${_blocks}; do
272275
# Try to find a hostapp container image first
@@ -300,7 +303,7 @@ balena_docker_create_compose_file() {
300303
_reboot_required=$(balena_lib_get_label_from_image "${_image_id}" "${BALENA_HOSTOS_BLOCK_REQUIRES_REBOOT}")
301304
[ -z "${_reboot_required}" ] && _reboot_required="1"
302305
_bootable=$(balena_api_is_bootable "${_block}" "${_apiEnv}" "${_token}")
303-
__add_compose_service "${_work_dir}" "${_block}" "${_block_image}" "${_class}" "${_reboot_required}" "${_store}" "${_bootable}"
306+
__add_compose_service "${_release_path}" "${_block}" "${_block_image}" "${_class}" "${_reboot_required}" "${_store}" "${_bootable}"
304307
done
305-
echo "${_work_dir}"
308+
echo "${_release_path}"
306309
}

0 commit comments

Comments
 (0)