Publish RPM artifacts to Sonatype Nexus yum repository.

It seems the nexus artifact uploader plugin is used for uploading non-maven 
artifacts to Nexus Repository Manager.
It says this plugin is used to upload non-maven artifacts to Nexus, but it 
requires a few properties that are quite not necessary for non-maven 
artifacts.
Uploading RPMS do not need groupId and version, which are required fields 
for the step.
For RPMs all that an artifact really need is file, not artifactId, type and 
classifier.

https://wiki.jenkins.io/display/JENKINS/Nexus+Artifact+Uploader

Has anyone used this in Jenkins to upload anything other than a Maven 
artifact?

These are all that should be necessary for uploading RPMs
  nexusArtifactUploader(
      nexusVersion: 'nexus3'
      protocol: 'https'
      nexusUrl: 'localhost:8443'
      repository: 'yum-repository/ReleaseA/opensuse42.3'
      artifacts [
          [file: 'artifact-1.0.0-ReleaseA.x86_64.rpm'],
          [file: 'artifact-devel-1.0.0-ReleaseA.x86_64.rpm'],
          [file: 'artifact-doc-1.0.0-ReleaseA.noarch.rpm']
      ]
  )

The repository is "yum-repository", but it has a repository depth=2, which 
means the createrepo is run at yum-repository/directory1/directory2/.
So should repository be "yum-repository/ReleaseA/opensuse42.3" or just 
"yum-repository". The latter cannot be used, because there is no property 
to choose repository directory path.

  nexusArtifactUploader(
      nexusVersion: 'nexus3'
      protocol: 'https'
      nexusUrl: 'localhost:8443'
      repository: 'yum-repository'
      directory: 'ReleaseA/opensuse15.0'
  )

I was thinking of reporting this as an improvement, but there is no issues 
page for the GitHub project.
https://github.com/jenkinsci/nexus-artifact-uploader-plugin 

Uploading through the REST API could be an alternative:
curl --user 'username:password' --upload-file artifact-1.0.0-1.rpm 
https://localhost:8443/repository/yum-repository/ReleaseA/opensuse15.0/x86_64/
curl --user 'username:password' --upload-file artifact-devel-1.0.0-1.rpm 
https://localhost:8443/repository/yum-repository/ReleaseA/opensuse15.0/x86_64/
curl --user 'username:password' --upload-file artifact-doc-1.0.0-1.rpm 
https://localhost:8443/repository/yum-repository/ReleaseA/opensuse15.0/noarch/

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/644654f8-05aa-447c-9cfc-679d06973245%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to