73 lines
1.2 KiB
Bash
Executable File
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
|
|
|