INNER CODE UNIT · Python
dirname
cybersecsi/RAUDI · src/raudi/cli.py:57
dirname = str(DEFAULT_TOOL_DIR / tool_name)
image_exists = helper.check_if_docker_image_exists("{name}:{tag}".format(name=config['name'], tag=config['version']), remote_src)
if image_exists == False or force_build == True:
log("Building {docker_image}...".format(docker_image="{name}:{tag}".format(name=config['name'], tag=config['version'])))
helper.print_docker_build_command(config['name'], config['version'], config['buildargs'])
# Build image with version tag
enable_progress_env = helper.get_env('RAUDI_DOCKER_BUILD_PROGRESS', False)
enable_progress = False if (enable_progress_env == False) or (enable_progress_env == "False") else "auto"
try:
docker.buildx.build(dirname, load=True, progress=enable_progress, build_args=config['buildargs'], tags="{name}:{tag}".format(name=config['name'], tag=config['version']))
# Tag image as 'latest'
docker.tag("{name}:{tag}".format(name=config['name'], tag=config['version']), "{name}:{tag}".format(name=config['name'], tag='latest'))
except Exception as e:
logErr(e)
logErr(f"Unable to build {config['name']}:{config['version']}")
Manager().set_exit_code(1) # only set the exit code to 1, but keep creating Docker images
else: