Sverre Moe
2018-11-13 21:51:49 UTC
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/
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+***@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.
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+***@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.