Esempio n. 1
0
def _docker_images_to_build(all_apps_dir: str) -> List[DockerImageToBuild]:
    """
    Return an ordered list of Docker images to build.

    :param all_apps_dir: Directory with app subdirectories.
    :return: List of Docker images to build in that order.
    """

    images_to_build = []

    for dependency in docker_images(all_apps_dir=all_apps_dir,
                                    only_belonging_to_user=True):
        container_name = container_dir_name_from_image_name(
            image_name=dependency)
        container_path = os.path.join(all_apps_dir, container_name)

        if not os.path.isdir(container_path):
            raise ValueError("Container path is not a directory: '{}'".format(
                container_path))

        images_to_build.append(
            DockerImageToBuild(
                name=container_name,
                path=container_path,
                repository=dependency,
            ))

    return images_to_build
Esempio n. 2
0
 def test_container_dir_name_from_image_name(self):
     assert container_dir_name_from_image_name(
         image_name='gcr.io/mcback/topics-fetch-twitter-urls:latest'
     ) == 'topics-fetch-twitter-urls'
Esempio n. 3
0
 def test_container_dir_name_from_image_name(self):
     assert container_dir_name_from_image_name(
         image_name='dockermediacloud/topics-fetch-twitter-urls:latest',
         docker_hub_username='******',
     ) == 'topics-fetch-twitter-urls'