use of io.fabric8.maven.docker.config.CopyConfiguration in project docker-maven-plugin by fabric8io.
the class CopyMojo method copyFromTemporaryContainers.
private void copyFromTemporaryContainers(DockerAccess dockerAccess, RunService runService, RegistryService registryService, ArchiveService archiveService, QueryService queryService, GavLabel gavLabel) throws IOException, MojoExecutionException {
List<ImageConfiguration> imageConfigurations = getResolvedImages();
for (ImageConfiguration imageConfiguration : imageConfigurations) {
CopyConfiguration copyConfiguration = imageConfiguration.getCopyConfiguration();
String imageName = imageConfiguration.getName();
if (isEmpty(copyConfiguration)) {
log.debug("Copy configuration is not defined for %s image, skipping coping", imageName);
continue;
}
try (ContainerRemover containerRemover = new ContainerRemover(log, runService, removeVolumes)) {
String containerId = createContainer(runService, registryService, imageConfiguration, gavLabel);
containerRemover.setContainerId(containerId);
log.debug("Created %s container from %s image", containerId, imageName);
copy(dockerAccess, archiveService, containerId, imageName, copyConfiguration);
}
}
}
use of io.fabric8.maven.docker.config.CopyConfiguration in project docker-maven-plugin by fabric8io.
the class CopyMojo method copyFromStartedContainers.
private void copyFromStartedContainers(DockerAccess dockerAccess, RunService runService, ArchiveService archiveService, GavLabel gavLabel) throws IOException, MojoExecutionException {
List<ContainerDescriptor> containerDescriptors = runService.getContainers(gavLabel);
for (ContainerDescriptor containerDescriptor : containerDescriptors) {
ImageConfiguration imageConfiguration = containerDescriptor.getImageConfig();
CopyConfiguration copyConfiguration = imageConfiguration.getCopyConfiguration();
String imageName = imageConfiguration.getName();
if (isEmpty(copyConfiguration)) {
log.debug("Copy configuration is not defined for %s image, skipping coping", imageName);
continue;
}
String containerId = containerDescriptor.getContainerId();
log.debug("Found %s container of %s image started by start mojo", containerId, imageName);
copy(dockerAccess, archiveService, containerId, imageName, copyConfiguration);
}
}
use of io.fabric8.maven.docker.config.CopyConfiguration in project docker-maven-plugin by fabric8io.
the class CopyMojo method copyFromExistingContainers.
private void copyFromExistingContainers(DockerAccess dockerAccess, ArchiveService archiveService, QueryService queryService) throws IOException, MojoExecutionException {
List<ImageConfiguration> imageConfigurations = getResolvedImages();
for (ImageConfiguration imageConfiguration : imageConfigurations) {
CopyConfiguration copyConfiguration = imageConfiguration.getCopyConfiguration();
String imageName = imageConfiguration.getName();
if (isEmpty(copyConfiguration)) {
log.debug("Copy configuration is not defined for %s image, skipping coping", imageName);
continue;
}
Collection<Container> containers = getContainersForImage(queryService, imageConfiguration);
if (containers.isEmpty()) {
log.warn("Found no containers of %s image", imageName);
continue;
}
if (containers.size() > 1) {
log.warn("Found more than one container of %s image", imageName);
}
for (Container container : containers) {
String containerId = container.getId();
log.debug("Found %s container of %s image", containerId, imageName);
copy(dockerAccess, archiveService, containerId, imageName, copyConfiguration);
}
}
}
use of io.fabric8.maven.docker.config.CopyConfiguration in project docker-maven-plugin by fabric8io.
the class CopyConfigurationTest method empty.
@Test
public void empty() {
final CopyConfiguration cfg = new Builder().build();
assertEntries(cfg, null);
assertEntriesAsProperties(cfg, null);
}
use of io.fabric8.maven.docker.config.CopyConfiguration in project docker-maven-plugin by fabric8io.
the class CopyConfigurationTest method assertEntries.
private void assertEntries(final CopyConfiguration cfg, Collection<Entry> expected) {
final List<Entry> actual = cfg.getEntries();
if (expected == null) {
assertNull(actual);
return;
}
assertNotNull(actual);
assertEquals(expected.size(), actual.size());
final Iterator<Entry> actualIterator = actual.iterator();
for (Entry expectedEntry : expected) {
final Entry actualEntry = actualIterator.next();
assertEquals(expectedEntry.getContainerPath(), actualEntry.getContainerPath());
assertEquals(expectedEntry.getHostDirectory(), actualEntry.getHostDirectory());
}
}
Aggregations