in src/main/java/com/microsoft/jenkins/appservice/WebAppDeploymentRecorder.java [273:308]
private DockerBuildInfo validateDockerBuildInfo(final Run<?, ?> run, final TaskListener listener, final WebApp app)
throws IOException, InterruptedException, AzureCloudException {
final DockerBuildInfo dockerBuildInfo = new DockerBuildInfo();
final String linuxFxVersion = getLinuxFxVersion(app);
if (StringUtils.isBlank(linuxFxVersion) || isBuiltInDockerImage(linuxFxVersion)) {
// windows app doesn't need any docker config
if (StringUtils.isNotBlank(this.publishType) && this.publishType.equals(WebAppDeploymentCommandContext.PUBLISH_TYPE_DOCKER)) {
throw new AzureCloudException("Publish a windows or built-in image web app through docker is not currently supported.");
}
return dockerBuildInfo;
}
final EnvVars envVars = run.getEnvironment(listener);
// docker file
final String dockerfile = StringUtils.isBlank(dockerFilePath) ? "**/Dockerfile" : dockerFilePath;
dockerBuildInfo.withDockerfile(envVars.expand(dockerfile));
// AuthConfig for registry
dockerBuildInfo.withAuthConfig(getAuthConfig(run.getParent(), dockerRegistryEndpoint));
// the original docker image on Azure
dockerBuildInfo.withLinuxFxVersion(linuxFxVersion);
// docker image tag
final String tag = StringUtils.isBlank(dockerImageTag)
? String.valueOf(run.getNumber()) : envVars.expand(dockerImageTag);
dockerBuildInfo.withDockerImageTag(tag);
// docker image name
final String imageName = StringUtils.isBlank(dockerImageName) ? "" : envVars.expand(dockerImageName);
dockerBuildInfo.withDockerImage(imageName);
return dockerBuildInfo;
}