# HG changeset patch # User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr> # Date 1542623469 -3600 # Mon Nov 19 11:31:09 2018 +0100 # Node ID bbaf0ca90ec66f681b3f438e0d09151b2186ac78 # Parent 009bfee247e95cc5cd36653350772caf79c6b875 :pencil: add CREATED and REVISION in all build args, and fix --build-arg to work diff --git a/docker_build.py b/docker_build.py --- a/docker_build.py +++ b/docker_build.py @@ -6,11 +6,12 @@ """ # Version 2.19 import argparse +import datetime import json import logging import os import signal -from subprocess import call +from subprocess import call, check_output import sys from six.moves import configparser @@ -24,7 +25,7 @@ _logger = logging.getLogger(__name__) -__version__ = '0.1.2' +__version__ = '0.1.3' __date__ = '2018-04-04' __updated__ = '2018-11-19' @@ -89,12 +90,15 @@ ) parser.add_argument( '--build-arg', - help="add dev feature to generated image [default: %(default)s]", + help="build arg for the image, formated like FOO=BAR " + "[default: %(default)s]", default=None, + nargs='*', ) parser.add_argument( '--no-pull', - help="indicate to docker to not pull the base image [default: %(default)s]", + help="indicate to docker to not pull the base image " + "[default: %(default)s]", action='store_true', ) # TODO (maybe) add argument for other build arg @@ -153,7 +157,14 @@ signal.signal(signal.SIGTERM, signal_handler) # TODO docker build - buildargs = nmspc.build_arg + buildargs = dict() + buildargs['REVISION'] = check_output('hg identify -i'.split()).split()[0] + buildargs['CREATED'] = datetime.datetime.now().isoformat() + if nmspc.build_arg: + for arg in nmspc.build_arg: + a = arg.split('=') + buildargs[a[0]] = a[1] + logging.debug("Build args: %s", buildargs) dockerfile = 'Dockerfile' if dev: debug_dockerfile = 'Dockerfile.debug'