def process_dockerfile_list(self, dockerfile_list): """ Prepare dockerfile list with dependency and also add "auto latest tag" images """ image_list = [x['image']['fullname'] for x in dockerfile_list if x['image']['fullname']] autoLatestTagImageList = [] for dockerfile in dockerfile_list: # Calculate dependency dockerfile['dependency'] = False if dockerfile['image']['from'] and dockerfile['image']['from'] in image_list: dockerfile['dependency'] = dockerfile['image']['from'] # Process auto latest tag if self.configuration.get('docker.autoLatestTag') and dockerfile['image']['tag'] == self.configuration.get('docker.autoLatestTag'): imageNameLatest = DockerfileUtility.generate_image_name_with_tag_latest(dockerfile['image']['fullname']) if imageNameLatest not in image_list: autoLatestTagImage = copy.deepcopy(dockerfile) autoLatestTagImage['image']['fullname'] = imageNameLatest autoLatestTagImage['image']['tag'] = 'latest' autoLatestTagImage['dependency'] = dockerfile['image']['fullname'] autoLatestTagImageList.append(autoLatestTagImage) # Add auto latest tag images to dockerfile list dockerfile_list.extend(autoLatestTagImageList) return dockerfile_list
def process_dockerfile_list(self, dockerfile_list): """ Prepare dockerfile list with dependency and also add "auto latest tag" images """ # Process auto latest tag autoLatestTagImageList = [] image_list = [x['image']['fullname'] for x in dockerfile_list if x['image']['fullname']] for dockerfile in dockerfile_list: if self.configuration.get('docker.autoLatestTag') and dockerfile['image']['tag'] == self.configuration.get('docker.autoLatestTag'): imageNameLatest = DockerfileUtility.generate_image_name_with_tag_latest(dockerfile['image']['fullname']) if imageNameLatest not in image_list: autoLatestTagImage = copy.deepcopy(dockerfile) autoLatestTagImage['image']['fullname'] = imageNameLatest autoLatestTagImage['image']['tag'] = 'latest' autoLatestTagImage['image']['duplicate'] = True if not 'dependency' in autoLatestTagImage: autoLatestTagImage['dependency'] = [] autoLatestTagImage['dependency'].append(dockerfile['image']['fullname']) autoLatestTagImageList.append(autoLatestTagImage) # Add auto latest tag images to dockerfile list dockerfile_list.extend(autoLatestTagImageList) # Calculate dependency image_list = [x['image']['fullname'] for x in dockerfile_list if x['image']['fullname']] for dockerfile in dockerfile_list: if not 'dependency' in dockerfile: dockerfile['dependency'] = [] # add image from if it is a dependency if dockerfile['image']['from'] and dockerfile['image']['from'] in image_list: dockerfile['dependency'].append(dockerfile['image']['from']) # add multi stage image if it is a dependency for multiStageImage in dockerfile['image']['multiStageImages']: if multiStageImage in image_list: dockerfile['dependency'].append(multiStageImage) # unique list unique_dep_list = [] [unique_dep_list.append(item) for item in dockerfile['dependency'] if item not in unique_dep_list] dockerfile['dependency'] = unique_dep_list return dockerfile_list
def process_dockerfile_list(self, dockerfile_list): """ Prepare dockerfile list with dependency and also add "auto latest tag" images """ # Process auto latest tag autoLatestTagImageList = [] image_list = [ x['image']['fullname'] for x in dockerfile_list if x['image']['fullname'] ] for dockerfile in dockerfile_list: if self.configuration.get('docker.autoLatestTag') and dockerfile[ 'image']['tag'] == self.configuration.get( 'docker.autoLatestTag'): imageNameLatest = DockerfileUtility.generate_image_name_with_tag_latest( dockerfile['image']['fullname']) if imageNameLatest not in image_list: autoLatestTagImage = copy.deepcopy(dockerfile) autoLatestTagImage['image']['fullname'] = imageNameLatest autoLatestTagImage['image']['tag'] = 'latest' autoLatestTagImage['dependency'] = dockerfile['image'][ 'fullname'] autoLatestTagImageList.append(autoLatestTagImage) # Add auto latest tag images to dockerfile list dockerfile_list.extend(autoLatestTagImageList) # Calculate dependency image_list = [ x['image']['fullname'] for x in dockerfile_list if x['image']['fullname'] ] for dockerfile in dockerfile_list: if not 'dependency' in dockerfile: dockerfile['dependency'] = False if dockerfile['image']['from'] and dockerfile['image'][ 'from'] in image_list: dockerfile['dependency'] = dockerfile['image']['from'] return dockerfile_list