[#31] Debug build is now rootless

This commit is contained in:
Jef Roosens 2021-04-17 13:46:38 +02:00
parent 758a332138
commit 0b2b986205
Signed by: Jef Roosens
GPG key ID: B580B976584B5F30
4 changed files with 49 additions and 18 deletions

29
fejctl
View file

@ -9,18 +9,27 @@ function create_images() {
# First, we build the builder
DOCKER_BUILDKIT=1 docker build \
-f docker/Dockerfile.builder \
-t "$image-builder:latest" .
-t "$image-builder:latest" . || {
>&2 echo "Failed to build builder.";
exit 1;
}
if [[ "$1" = "rel" ]]; then
DOCKER_BUILDKIT=1 docker build \
-t "$image:latest" \
-f docker/Dockerfile.rel .
-f docker/Dockerfile.rel . || {
>&2 echo "Failed to build release image.";
exit 1;
}
else
# Then, we create the debug image
DOCKER_BUILDKIT=1 docker build \
-t "$image:dev" \
-f docker/Dockerfile.dev .
-f docker/Dockerfile.dev . || {
>&2 echo "Failed to build debug image.";
exit 1;
}
fi
}
@ -28,9 +37,9 @@ function create_images() {
#
# $@: the arguments to pass to the image (passed as arguments to cargo)
function run_image() {
docker volume create fej_build-cache
docker volume create fej_registry-cache
docker volume create fej_db-data
docker volume create fej_build-cache > /dev/null
docker volume create fej_registry-cache > /dev/null
docker volume create fej_db-data > /dev/null
# Run the database image
docker run --rm \
@ -54,9 +63,9 @@ function run_image() {
--name fej \
--env-file .env.container \
--network fej \
-v 'fej_build-cache:/usr/src/app/target' \
-v 'fej_registry-cache:/root/.cargo/registry' \
-v "$PWD/Rocket.toml:/usr/src/app/Rocket.toml:ro" \
-v 'fej_build-cache:/app/target' \
-v 'fej_registry-cache:/app/.cargo/registry' \
-v "$PWD/Rocket.toml:/app/Rocket.toml:ro" \
"$image:dev" "$@"
}
@ -109,6 +118,8 @@ function publish() {
exit 2
fi
create_images rel
patch_version=`grep -Po '(?<=version = ").*(?=")' Cargo.toml | head -n1`
major_version=`echo "$patch_version" | sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/'`
minor_version=`echo "$patch_version" | sed -E 's/([0-9]+).([0-9]+).([0-9]+)/\1.\2/'`