nutools/docker/build

73 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source /etc/ulibauto || exit 1
function display_help() {
uecho "$scriptname: construire $NAME
USAGE
$scriptname [options]
OPTIONS
-b, --build
-n, --no-cache"
}
function do_prereqs() {
:
}
function do_build() {
local date; local -a args
setx date=date +%y%m%d
args=(
-f Dockerfile
-t $NAME:latest
--build-arg "date=$date"
${no_cache:+--no-cache}
)
etitle "Création de l'image docker $NAME" \
docker build "${args[@]}" "$CTXDIR"
}
function do_run() {
docker run -it --rm "$NAME"
}
cd "$scriptdir"
source ./build.env || die "Impossible de trouver build.env"
[ -f build.env.local ] && source build.env.local
auto=1
prereqs=
build=
no_cache=
run=
args=(
--help '$exit_with display_help'
--prereqs '$prereqs=1; auto='
-b,--build '$build=1; auto='
-n,--no-cache no_cache=1
-r,--run '$run=1; auto='
)
parse_args "$@"; set -- "${args[@]}"
if [ -n "$prereqs" ]; then
build=
run=
elif [ -n "$auto" ]; then
build=1
fi
if [ -n "$prereqs" ]; then
do_prereqs "$@" || die
fi
if [ -n "$build" ]; then
do_build "$@" || die
fi
if [ -n "$run" ]; then
do_run "$@" || die
fi