def build_requirements(project): """Build the image that contains python requirements""" from derex.runner.build import build_requirements_image click.echo( f'Building docker image {project.requirements_image_tag} ("{project.name}" requirements)' ) build_requirements_image(project)
def generate_local_docker_compose(project: Project) -> Path: """This function is called every time ddc-project is run. It assembles a docker-compose file from the given configuration. It should execute as fast as possible. """ local_compose_path = project.private_filepath("docker-compose.yml") template_path = abspath_from_egg("derex.runner", "derex/runner/templates/local.yml.j2") final_image = None if image_exists(project.image_tag): final_image = project.image_tag if not image_exists(project.requirements_image_tag): click.echo("Building requirements image") build_requirements_image(project) tmpl = Template(template_path.read_text()) text = tmpl.render(project=project, final_image=final_image) local_compose_path.write_text(text) return local_compose_path