private DockerBuildInfo validateDockerBuildInfo()

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;
    }