Extend uploadImageToArtifactory function

We need to publish BuildInfo object as well (as for binary) for
docker images.
1. Replace:
    String artifactoryURL
   by
    ArtifactoryServer server
2. If buildInfo is defined, let's publish it to artifactory

Change-Id: Iadb724307b81a8f40cf1852b909bbb25208dc143
diff --git a/src/com/mirantis/mcp/MCPArtifactory.groovy b/src/com/mirantis/mcp/MCPArtifactory.groovy
index 9e1db78..fc999c0 100644
--- a/src/com/mirantis/mcp/MCPArtifactory.groovy
+++ b/src/com/mirantis/mcp/MCPArtifactory.groovy
@@ -120,14 +120,17 @@
 /**
  * Upload docker image to Artifactory
  *
- * @param artifactoryURL String, an URL to Artifactory
+ * @param server ArtifactoryServer, the instance of Artifactory server
  * @param registry String, the name of Docker registry
  * @param image String, Docker image name
  * @param version String, Docker image version
  * @param repository String, The name of Artifactory Docker repository
+ * @param buildInfo BuildInfo, the instance of a build-info object which can be published,
+ *                              if defined, then we publish BuildInfo
  */
-def uploadImageToArtifactory (String artifactoryURL, String registry, String image,
-                              String version, String repository) {
+def uploadImageToArtifactory (ArtifactoryServer server, String registry, String image,
+                              String version, String repository,
+                              BuildInfo buildInfo = null) {
     // TODO Switch to Artifactoy image' pushing mechanism once we will
     // prepare automatical way for enabling artifactory build-proxy
     //def artDocker
@@ -143,7 +146,7 @@
 
     sh ("docker push ${registry}/${image}:${version}")
     //artDocker.push("${registry}/${image}:${version}", "${repository}")
-    def image_url = "${artifactoryURL}/api/storage/${repository}/${image}/${version}"
+    def image_url = server.getUrl() + "/api/storage/${repository}/${image}/${version}"
 
     def properties = [
             'com.mirantis.buildName':"${env.JOB_NAME}",
@@ -157,6 +160,15 @@
     ]
 
     setProperties(image_url, properties)
+
+    if ( buildInfo != null ) {
+        buildInfo.env.capture = true
+        buildInfo.env.filter.addInclude("*")
+        buildInfo.env.filter.addExclude("*PASSWORD*")
+        buildInfo.env.filter.addExclude("*password*")
+        buildInfo.env.collect()
+        server.publishBuildInfo(buildInfo)
+    }
 }
 
 /**