/** * Gets a new {@link Containerizer} that containerizes to a Docker daemon. * * @param dockerDaemonImage the {@link DockerDaemonImage} that defines target Docker daemon * @return a new {@link Containerizer} */ public static Containerizer to(DockerDaemonImage dockerDaemonImage) { return new Containerizer(dockerDaemonImage); }
throws CacheDirectoryCreationException, IOException { buildConfigurationBuilder .setTargetImageConfiguration(containerizer.getTargetImage().toImageConfiguration()) .setAdditionalTargetImageTags(containerizer.getAdditionalTags()) .setBaseImageLayersCacheDirectory(containerizer.getBaseImageLayersCacheDirectory()) .setApplicationLayersCacheDirectory(containerizer.getApplicationLayersCacheDirectory()) .setContainerConfiguration(containerConfigurationBuilder.build()) .setLayerConfigurations(layerConfigurations) .setAllowInsecureRegistries(containerizer.getAllowInsecureRegistries()) .setToolName(containerizer.getToolName()) .setExecutorService(executorService); .getEventHandlers() .ifPresent( eventHandlers ->
@VisibleForTesting JibContainer containerize( Containerizer containerizer, Supplier<ExecutorService> defaultExecutorServiceFactory) throws InterruptedException, ExecutionException, IOException, CacheDirectoryCreationException { boolean shutdownExecutorService = !containerizer.getExecutorService().isPresent(); ExecutorService executorService = containerizer.getExecutorService().orElseGet(defaultExecutorServiceFactory); BuildConfiguration buildConfiguration = toBuildConfiguration(containerizer, executorService); try { BuildResult result = containerizer.getTargetImage().toBuildSteps(buildConfiguration).run(); return new JibContainer(result.getImageDigest(), result.getImageId()); } finally { if (shutdownExecutorService) { executorService.shutdown(); } } }
/** * Configures a {@link Containerizer} with values pulled from project properties/raw build * configuration. * * @param containerizer the {@link Containerizer} to configure * @param rawConfiguration the raw build configuration * @param projectProperties the project properties */ private static void configureContainerizer( Containerizer containerizer, RawConfiguration rawConfiguration, ProjectProperties projectProperties) { containerizer .setToolName(projectProperties.getToolName()) .setEventHandlers(projectProperties.getEventHandlers()) .setAllowInsecureRegistries(rawConfiguration.getAllowInsecureRegistries()) .setBaseImageLayersCache( getCheckedCacheDirectory( PropertyNames.BASE_IMAGE_CACHE, Boolean.getBoolean(PropertyNames.USE_ONLY_PROJECT_CACHE) ? projectProperties.getDefaultCacheDirectory() : Containerizer.DEFAULT_BASE_CACHE_DIRECTORY)) .setApplicationLayersCache( getCheckedCacheDirectory( PropertyNames.APPLICATION_CACHE, projectProperties.getDefaultCacheDirectory())); rawConfiguration.getToTags().forEach(containerizer::withAdditionalTag); }
private Containerizer configureContainer(final Containerizer to, final ExecutorService executor) { return to .setExecutorService(executor) .setApplicationLayersCache(layersCacheDirectory.toPath()) .setBaseImageLayersCache(layersCacheDirectory.toPath()) .setToolName("Talend Image Maven Plugin") .setEventHandlers(new EventHandlers()); }
/** * Configures a {@link Containerizer} with values pulled from project properties/raw build * configuration. * * @param containerizer the {@link Containerizer} to configure * @param rawConfiguration the raw build configuration * @param projectProperties the project properties */ private static void configureContainerizer( Containerizer containerizer, RawConfiguration rawConfiguration, ProjectProperties projectProperties) { containerizer .setToolName(projectProperties.getToolName()) .setEventHandlers(projectProperties.getEventHandlers()) .setAllowInsecureRegistries(rawConfiguration.getAllowInsecureRegistries()) .setBaseImageLayersCache( getCheckedCacheDirectory( PropertyNames.BASE_IMAGE_CACHE, Boolean.getBoolean(PropertyNames.USE_ONLY_PROJECT_CACHE) ? projectProperties.getDefaultCacheDirectory() : Containerizer.DEFAULT_BASE_CACHE_DIRECTORY)) .setApplicationLayersCache( getCheckedCacheDirectory( PropertyNames.APPLICATION_CACHE, projectProperties.getDefaultCacheDirectory())); rawConfiguration.getToTags().forEach(containerizer::withAdditionalTag); }
throws CacheDirectoryCreationException, IOException { buildConfigurationBuilder .setTargetImageConfiguration(containerizer.getTargetImage().toImageConfiguration()) .setAdditionalTargetImageTags(containerizer.getAdditionalTags()) .setBaseImageLayersCacheDirectory(containerizer.getBaseImageLayersCacheDirectory()) .setApplicationLayersCacheDirectory(containerizer.getApplicationLayersCacheDirectory()) .setContainerConfiguration(containerConfigurationBuilder.build()) .setLayerConfigurations(layerConfigurations) .setAllowInsecureRegistries(containerizer.getAllowInsecureRegistries()) .setToolName(containerizer.getToolName()) .setExecutorService(executorService); .getEventHandlers() .ifPresent( eventHandlers ->
@VisibleForTesting JibContainer containerize( Containerizer containerizer, Supplier<ExecutorService> defaultExecutorServiceFactory) throws InterruptedException, ExecutionException, IOException, CacheDirectoryCreationException { boolean shutdownExecutorService = !containerizer.getExecutorService().isPresent(); ExecutorService executorService = containerizer.getExecutorService().orElseGet(defaultExecutorServiceFactory); BuildConfiguration buildConfiguration = toBuildConfiguration(containerizer, executorService); try { BuildResult result = containerizer.getTargetImage().toBuildSteps(buildConfiguration).run(); return new JibContainer(result.getImageDigest(), result.getImageId()); } finally { if (shutdownExecutorService) { executorService.shutdown(); } } }
/** * Gets a new {@link Containerizer} that containerizes to a tarball archive. * * @param tarImage the {@link TarImage} that defines target output file * @return a new {@link Containerizer} */ public static Containerizer to(TarImage tarImage) { return new Containerizer(tarImage); }
throws CacheDirectoryCreationException, IOException { buildConfigurationBuilder .setTargetImageConfiguration(containerizer.getTargetImage().toImageConfiguration()) .setAdditionalTargetImageTags(containerizer.getAdditionalTags()) .setBaseImageLayersCacheDirectory(containerizer.getBaseImageLayersCacheDirectory()) .setApplicationLayersCacheDirectory(containerizer.getApplicationLayersCacheDirectory()) .setContainerConfiguration(containerConfigurationBuilder.build()) .setLayerConfigurations(layerConfigurations) .setAllowInsecureRegistries(containerizer.getAllowInsecureRegistries()) .setToolName(containerizer.getToolName()) .setExecutorService(executorService); .getEventHandlers() .ifPresent( eventHandlers ->
@VisibleForTesting JibContainer containerize( Containerizer containerizer, Supplier<ExecutorService> defaultExecutorServiceFactory) throws InterruptedException, ExecutionException, IOException, CacheDirectoryCreationException { boolean shutdownExecutorService = !containerizer.getExecutorService().isPresent(); ExecutorService executorService = containerizer.getExecutorService().orElseGet(defaultExecutorServiceFactory); BuildConfiguration buildConfiguration = toBuildConfiguration(containerizer, executorService); try { BuildResult result = containerizer.getTargetImage().toBuildSteps(buildConfiguration).run(); return new JibContainer(result.getImageDigest(), result.getImageId()); } finally { if (shutdownExecutorService) { executorService.shutdown(); } } }
/** * Gets a new {@link Containerizer} that containerizes to a container registry. * * @param registryImage the {@link RegistryImage} that defines target container registry and * credentials * @return a new {@link Containerizer} */ public static Containerizer to(RegistryImage registryImage) { return new Containerizer(registryImage); }
/** * Gets a new {@link Containerizer} that containerizes to a container registry. * * @param registryImage the {@link RegistryImage} that defines target container registry and * credentials * @return a new {@link Containerizer} */ public static Containerizer to(RegistryImage registryImage) { return new Containerizer(registryImage); }
/** * Gets a new {@link Containerizer} that containerizes to a Docker daemon. * * @param dockerDaemonImage the {@link DockerDaemonImage} that defines target Docker daemon * @return a new {@link Containerizer} */ public static Containerizer to(DockerDaemonImage dockerDaemonImage) { return new Containerizer(dockerDaemonImage); }
/** * Gets a new {@link Containerizer} that containerizes to a tarball archive. * * @param tarImage the {@link TarImage} that defines target output file * @return a new {@link Containerizer} */ public static Containerizer to(TarImage tarImage) { return new Containerizer(tarImage); }
/** * Gets a new {@link Containerizer} that containerizes to a container registry. * * @param registryImage the {@link RegistryImage} that defines target container registry and * credentials * @return a new {@link Containerizer} */ public static Containerizer to(RegistryImage registryImage) { return new Containerizer(registryImage); }
/** * Gets a new {@link Containerizer} that containerizes to a Docker daemon. * * @param dockerDaemonImage the {@link DockerDaemonImage} that defines target Docker daemon * @return a new {@link Containerizer} */ public static Containerizer to(DockerDaemonImage dockerDaemonImage) { return new Containerizer(dockerDaemonImage); }
/** * Gets a new {@link Containerizer} that containerizes to a tarball archive. * * @param tarImage the {@link TarImage} that defines target output file * @return a new {@link Containerizer} */ public static Containerizer to(TarImage tarImage) { return new Containerizer(tarImage); }