public String call()

in src/main/java/com/microsoft/jenkins/appservice/commands/DockerBuildCommand.java [90:134]


        public String call() throws AzureCloudException {
            final boolean[] hasError = {false};
            final DockerClient client = dockerClientBuilder.build(dockerBuildInfo.getAuthConfig());
            final BuildImageResultCallback callback = new BuildImageResultCallback() {
                @Override
                public void onNext(final BuildResponseItem buildResponseItem) {
                    if (buildResponseItem.isBuildSuccessIndicated()) {
                        listener.getLogger().println(buildResponseItem.getStream());
                        dockerBuildInfo.setImageId(buildResponseItem.getImageId());
                    } else if (buildResponseItem.isErrorIndicated()) {
                        listener.getLogger().println("Build docker image failed");
                        ResponseItem.ErrorDetail detail = buildResponseItem.getErrorDetail();
                        if (detail != null) {
                            listener.getLogger().println("The error detail: " + detail.toString());
                        }
                        hasError[0] = true;
                    } else if (StringUtils.isNotBlank(buildResponseItem.getStream())) {
                        listener.getLogger().println(buildResponseItem.getStream());
                    }
                    super.onNext(buildResponseItem);
                }

                @Override
                public void onError(Throwable throwable) {
                    listener.getLogger().println("Fail to build docker image:" + throwable.getMessage());
                    hasError[0] = true;
                    super.onError(throwable);
                }
            };

            try {
                client.buildImageCmd(new File(dockerfile.getRemote()))
                        .withTags(Sets.newHashSet(image))
                        .exec(callback)
                        .awaitCompletion();
            } catch (InterruptedException e) {
                throw new AzureCloudException(e);
            }

            if (hasError[0]) {
                throw new AzureCloudException("Fail to build docker image");
            }

            return dockerBuildInfo.getImageId();
        }