Previously, I deployed the zDevOps Jenkins plugin (zdevops) in artifactory under version 1.0.0 (the first release of the plugin) and now plugin is available for installation from Jenkins Hub.
However, over time the versioning requirements of the plugin have changed, due to the policies of the mainframe ZOWE community. And now there is a need to change the versioning of the base plugin from 1.0.0 to 0.1.0 and further deploy releases 0.2.0 and etc.
Could you tell me if it’s possible to do this by myself or do I need to contact someone from artifactory support?
And after changing the plugin versioning, how will Jenkins servers perceive the changes?
For example, a person has previously installed plugin with release version 1.0.0, but the version in artifactory and Jenkins Hub has changed to 0.1.0 or 0.2.0, the user will get a notification that version 1.0.0 is no longer supported and needs to reinstall the new version to 0.1.0/0.2.0, or how will Jenkins UI behave in this situation?
Jenkins uses increasing version numbers. A version 0.x.0 would always be considered older than the existing 1.0.0 and users would never get proposed to update to 0.x.0 in the UI.
In this case, is there any possibility to remove the old version from Jenkins Hub, and deploy the new version 0.1.0, so that only the new version 0.1.0/0.2.0 will be displayed in Jenkins Hub search and installation?
I think it is possible to remove the version 1.0.0 from artifactory so that it would no longer appear as the latest version here: zdevops
But all users that have installed version 1.0.0 on their Jenkins instance will never see that there is a newer version of the plugin.
As there are less then 20 installations of the plugin maybe you know who those users are and can contact them directly.
I also wanted to clarify one more thing.
At the moment the available version of the plugin 1.0.0 (zdevops) is built using gradle and the version is set manualy in gradle.properties like this: ‘version=1.0.0’.
However, the new update that I am going to release will use maven (to use automated release, because gradle was not normally supported and the first release had to be done manually, loading the sources into artifactory), and in the pom.xml file, versioning will be set for automatic release, like:
And version will look like: 0.2.0-123.v<commit hash>
And here is a question, the automatic versioning in the pom.xml with maven possibly will be considered a priority and the latest current version, than just manualy defined version=1.0.0 in Gradle? (in such case it will be possible to change the versioning to the desired one).