String override
This commit is contained in:
parent
4e27cc8b6e
commit
110097ec81
|
@ -52,8 +52,9 @@ def get_workspace_subdir(subdir):
|
||||||
def run(cmd, captureOutput=False, pty=False, debug=False, **kwargs):
|
def run(cmd, captureOutput=False, pty=False, debug=False, **kwargs):
|
||||||
"""Execute an arbitrary command on the system"""
|
"""Execute an arbitrary command on the system"""
|
||||||
if debug:
|
if debug:
|
||||||
print(" ".join(cmd))
|
print(" ".join(cmd) if isinstance(cmd, list) else cmd)
|
||||||
stdin=subprocess.PIPE
|
stdin=subprocess.PIPE
|
||||||
|
kwargs['shell'] = False if isinstance(cmd, list) else True
|
||||||
if pty:
|
if pty:
|
||||||
kwargs['stdin'] = sys.stdin
|
kwargs['stdin'] = sys.stdin
|
||||||
if captureOutput:
|
if captureOutput:
|
||||||
|
@ -62,4 +63,8 @@ def run(cmd, captureOutput=False, pty=False, debug=False, **kwargs):
|
||||||
return subprocess.check_call(cmd, **kwargs)
|
return subprocess.check_call(cmd, **kwargs)
|
||||||
|
|
||||||
def run_docker(args, captureOutput=False, **kwargs):
|
def run_docker(args, captureOutput=False, **kwargs):
|
||||||
return run(["docker"] + args, captureOutput=captureOutput, **kwargs)
|
if isinstance(args, list):
|
||||||
|
cmd = ["docker"] + args
|
||||||
|
else:
|
||||||
|
cmd = "docker " + args
|
||||||
|
return run(cmd, captureOutput=captureOutput, **kwargs)
|
||||||
|
|
7
package
7
package
|
@ -21,7 +21,7 @@ def create_args_parser():
|
||||||
parser.add_argument("--rebuild", help="Ignore cache and rebuild container's image", action="store_true", default=False)
|
parser.add_argument("--rebuild", help="Ignore cache and rebuild container's image", action="store_true", default=False)
|
||||||
parser.add_argument("--debug", help="Will add extra output and start the container in interactive mode", action="store_true", default=False)
|
parser.add_argument("--debug", help="Will add extra output and start the container in interactive mode", action="store_true", default=False)
|
||||||
parser.add_argument("--cleanup", help="Clear the workspace and remove obsolete Docker images before build", action="store_true", default=False)
|
parser.add_argument("--cleanup", help="Clear the workspace and remove obsolete Docker images before build", action="store_true", default=False)
|
||||||
parser.add_argument("--override-docker-args", help="Override all 'docker run' arguments. You can use this flag multiple times to add custom arguments", default=[], action='append')
|
parser.add_argument("--override-docker-args", help="Override all 'docker run' arguments. Use '[IMAGE_TAG]' to insert the generated image's name.", default="")
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -89,9 +89,8 @@ if __name__ == "__main__":
|
||||||
docker_args = []
|
docker_args = []
|
||||||
|
|
||||||
# Append custom arguments
|
# Append custom arguments
|
||||||
if len(args.override_docker_args) > 0:
|
if args.override_docker_args != "":
|
||||||
docker_args += args.override_docker_args
|
docker_args = args.override_docker_args.replace('[IMAGE_TAG]', image_tag)
|
||||||
docker_args = [a.replace('[IMAGE_TAG]', image_tag) for a in docker_args]
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
docker_args += [ "run", "--rm" ]
|
docker_args += [ "run", "--rm" ]
|
||||||
|
|
Loading…
Reference in New Issue