in plugins/docker/base-image/src/integrationTest/java/co/elastic/gradle/dockerbase/DockerBaseImageBuildPluginIT.java [240:285]
public void testDockerEphemeralConfig() throws IOException {
helper.buildScript("""
import java.net.URL
plugins {
id("co.elastic.docker-base")
id("co.elastic.vault")
id("co.elastic.cli.jfrog")
}
vault {
address.set("https://vault-ci-prod.elastic.dev")
auth {
ghTokenFile()
ghTokenEnv()
tokenEnv()
roleAndSecretEnv()
}
}
repositories {
mavenCentral()
}
dependencies {
dockerEphemeral("org.slf4j:slf4j-api:1.7.36")
}
val creds = vault.readAndCacheSecret("secret/ci/elastic-gradle-plugins/artifactory_creds").get()
cli {
jfrog {
username.set(creds["username"])
password.set(creds["plaintext"])
}
}
dockerBaseImage {
osPackageRepository.set(URL("https://${creds["username"]}:${creds["plaintext"]}@artifactory.elastic.dev/artifactory/gradle-plugins-os-packages"))
fromUbuntu("ubuntu", "20.04")
run(
"ls $dockerEphemeral/slf4j-api-1.7.36.jar",
)
}
"""
);
Files.copy(
Objects.requireNonNull(getClass().getResourceAsStream("/ubuntu.lockfile.yaml")),
helper.projectDir().resolve("docker-base-image.lock")
);
final BuildResult result = gradleRunner.withArguments("--warning-mode", "fail", "-s", "dockerBaseImageBuild").build();
assertContains(result.getOutput(), "slf4j-api-1.7.36.jar");
}