code: func (Pipe) Publish(ctx *context.Context) error {
  	if len(ctx.Config.Artifactories) == 0 {
  		return pipe.Skip("artifactory section is not configured")
  	}
  
  	// Check requirements for every instance we have configured.
  	// If not fulfilled, we can skip this pipeline
  	for _, instance := range ctx.Config.Artifactories {
  		instance := instance
  		if skip := http.CheckConfig(ctx, &instance, "artifactory"); skip != nil {
  			return pipe.Skip(skip.Error())
  		}
  	}
  
  	return http.Upload(ctx, ctx.Config.Artifactories, "artifactory", func(res *h.Response) error {
  		if err := checkResponse(res); err != nil {
  			return err
  		}
  		var r artifactoryResponse
  		err := json.NewDecoder(res.Body).Decode(&r)
  		return err
  	})
  
  }
docs: // Publish artifacts to artifactory
  //
  // Docs: https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-Example-DeployinganArtifact