In order to release new version you need jenkins.io account, push rights to this repository and access to jenkins jfrog artifactory. See jenkins plugin adoption procedure
In short release procedure could described in following steps:
- Update version in
gradle.properties
and create new commit - Place a new tag
- Build and publish artifacts to repo.jenkins.io/releases maven repository (jar, src, docs)
- Update version in
gradle.properties
for next development cycle - Add new release notes to github
NOTE: repo.jenkins.io/releases has a delay (1-2d) in publishing artifacts to public so mark new release notes as pre-release
once artifacts are avalible pre-release
label could be removed.
To automate steps abobe JPU uses a vary of gradle plugins and github actions scitps
JPU uses it to prepare new release. This gralde plugin automativally cretaes new commit with updated release version, places new release tag, and then prepare repository for the next development cycle.
Is needed to publish artifacts to repo.jenkins.io/releases maven repository.
There is release-drafter github actions script to prepare release notes based on Issues and PR which were integrated with the mainline since previous release.
Let's say current version is 1.6, new version is 1.7, next development version is 1.8-SNAPSHOT
- checkout release branch
git fetch
git checkout -B master origin/master
- run release:
./gradlew release
# You will be asked for new version, and new snapsot version
# (just press enter to use default values)
- checkout new tag
git checkout v1.7
- Publish artifacts
# create ~/.gradle/gradle.properties with following content:
# artifactory_user=jenkins.io_username
# artifactory_password=s3cr3t
./gradlew artifactoryPublish
- Publish new releas notes at https://github.com/jenkinsci/JenkinsPipelineUnit/releases