Search in sources :

Example 26 with Build

use of io.fabric8.openshift.api.model.Build in project docker-maven-plugin by fabric8io.

the class RegistryService method pushImages.

/**
 * Push a set of images to a registry
 *
 * @param imageConfigs images to push (but only if they have a build configuration)
 * @param retries how often to retry
 * @param registryConfig a global registry configuration
 * @throws DockerAccessException
 * @throws MojoExecutionException
 */
public void pushImages(Collection<ImageConfiguration> imageConfigs, int retries, RegistryConfig registryConfig) throws DockerAccessException, MojoExecutionException {
    for (ImageConfiguration imageConfig : imageConfigs) {
        BuildImageConfiguration buildConfig = imageConfig.getBuildConfiguration();
        String name = imageConfig.getName();
        if (buildConfig != null) {
            String configuredRegistry = EnvUtil.fistRegistryOf(new ImageName(imageConfig.getName()).getRegistry(), imageConfig.getRegistry(), registryConfig.getRegistry());
            AuthConfig authConfig = createAuthConfig(true, new ImageName(name).getUser(), configuredRegistry, registryConfig);
            long start = System.currentTimeMillis();
            docker.pushImage(name, authConfig, configuredRegistry, retries);
            log.info("Pushed %s in %s", name, EnvUtil.formatDurationTill(start));
            for (String tag : imageConfig.getBuildConfiguration().getTags()) {
                if (tag != null) {
                    docker.pushImage(new ImageName(name, tag).getFullName(), authConfig, configuredRegistry, retries);
                }
            }
        }
    }
}
Also used : ImageName(io.fabric8.maven.docker.util.ImageName) BuildImageConfiguration(io.fabric8.maven.docker.config.BuildImageConfiguration) ImageConfiguration(io.fabric8.maven.docker.config.ImageConfiguration) AuthConfig(io.fabric8.maven.docker.access.AuthConfig) BuildImageConfiguration(io.fabric8.maven.docker.config.BuildImageConfiguration)

Example 27 with Build

use of io.fabric8.openshift.api.model.Build in project docker-maven-plugin by fabric8io.

the class DockerFileBuilderTest method testDockerFileOptimisation.

@Test
public void testDockerFileOptimisation() throws Exception {
    Arguments a = Arguments.Builder.get().withParam("c1").withParam("c2").build();
    String dockerfileContent = new DockerFileBuilder().add("/src", "/dest").baseImage("image").cmd(a).env(ImmutableMap.of("foo", "bar")).basedir("/export").expose(Collections.singletonList("8080")).maintainer("maintainer@example.com").workdir("/tmp").labels(ImmutableMap.of("com.acme.foobar", "How are \"you\" ?")).volumes(Collections.singletonList("/vol1")).run(Arrays.asList("echo something", "echo second", "echo third", "echo fourth", "echo fifth")).optimise().content();
    String expected = loadFile("docker/Dockerfile_optimised.test");
    assertEquals(expected, stripCR(dockerfileContent));
}
Also used : Arguments(io.fabric8.maven.docker.config.Arguments) Test(org.junit.Test)

Example 28 with Build

use of io.fabric8.openshift.api.model.Build in project docker-maven-plugin by fabric8io.

the class DockerFileBuilderTest method testBuildDockerFileBadPort.

@Test(expected = IllegalArgumentException.class)
public void testBuildDockerFileBadPort() throws Exception {
    Arguments a = Arguments.Builder.get().withParam("c1").withParam("c2").build();
    new DockerFileBuilder().add("/src", "/dest").baseImage("image").cmd(a).env(ImmutableMap.of("foo", "bar")).basedir("/export").expose(Collections.singletonList("8080aaa/udp")).maintainer("maintainer@example.com").workdir("/tmp").labels(ImmutableMap.of("com.acme.foobar", "How are \"you\" ?")).volumes(Collections.singletonList("/vol1")).run(Arrays.asList("echo something", "echo second")).content();
}
Also used : Arguments(io.fabric8.maven.docker.config.Arguments) Test(org.junit.Test)

Example 29 with Build

use of io.fabric8.openshift.api.model.Build in project docker-maven-plugin by fabric8io.

the class DockerFileBuilderTest method testHealthCheckNone.

@Test
public void testHealthCheckNone() {
    HealthCheckConfiguration hc = new HealthCheckConfiguration.Builder().mode(HealthCheckMode.none).build();
    String dockerfileContent = new DockerFileBuilder().healthCheck(hc).content();
    assertThat(dockerfileToMap(dockerfileContent), hasEntry("HEALTHCHECK", "NONE"));
}
Also used : HealthCheckConfiguration(io.fabric8.maven.docker.config.HealthCheckConfiguration) Test(org.junit.Test)

Example 30 with Build

use of io.fabric8.openshift.api.model.Build in project docker-maven-plugin by fabric8io.

the class DockerFileBuilderTest method testEntryPointParams.

@Test
public void testEntryPointParams() {
    Arguments a = Arguments.Builder.get().withParam("java").withParam("-jar").withParam("/my-app-1.1.1.jar").withParam("server").build();
    String dockerfileContent = new DockerFileBuilder().entryPoint(a).content();
    assertThat(dockerfileToMap(dockerfileContent), hasEntry("ENTRYPOINT", "[\"java\",\"-jar\",\"/my-app-1.1.1.jar\",\"server\"]"));
}
Also used : Arguments(io.fabric8.maven.docker.config.Arguments) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)255 ArrayList (java.util.ArrayList)74 BuildImageConfiguration (io.fabric8.maven.docker.config.BuildImageConfiguration)69 ImageConfiguration (io.fabric8.maven.docker.config.ImageConfiguration)68 HashMap (java.util.HashMap)67 File (java.io.File)53 ConfigMap (io.fabric8.kubernetes.api.model.ConfigMap)51 IOException (java.io.IOException)50 ConfigMapBuilder (io.fabric8.kubernetes.api.model.ConfigMapBuilder)45 Pod (io.fabric8.kubernetes.api.model.Pod)38 Map (java.util.Map)35 Service (io.fabric8.kubernetes.api.model.Service)34 FabricService (io.fabric8.api.FabricService)33 ResourceConfig (io.fabric8.maven.core.config.ResourceConfig)30 Container (io.fabric8.api.Container)29 RunImageConfiguration (io.fabric8.maven.docker.config.RunImageConfiguration)28 PodBuilder (io.fabric8.kubernetes.api.model.PodBuilder)27 List (java.util.List)26 ServiceBuilder (io.fabric8.kubernetes.api.model.ServiceBuilder)25 ServicePortBuilder (io.fabric8.kubernetes.api.model.ServicePortBuilder)25