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
 | |
| 
 |