INNER CODE UNIT · Python

build

cybersecsi/RAUDI · src/raudi/cli.py:52

def build(tool_name, config, args, tests):
    # Args and Vars
    push_image = args.push
    remote_src = args.remote
    force_build = args.force
    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'))

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…