Hi,
I am exploring the new Jenkins automated CD plugin release process for our plugin releases and have a few questions based on the documentation. I would appreciate any clarifications you can provide:
Q1. Release Triggering: My understanding is that every successful build of the default branch triggers a release, meaning each release would be associated with only one PR (assuming it has the appropriate label). However, I noticed that in the kubernetes-plugin, the latest release includes changes from multiple PRs. How is this achieved? Also, does the release happen when the PR is merged? When the release happens is a bit unclear to me.
Q2. Automated Versioning: How is the automated version generated? For a single PR with one commit, the version format seems to be <some int>.<commit ID>, as seen with the log-cli plugin version 40.934670f4a9b8 triggered by a master push. How is the version determined when multiple PRs or commits are involved?
Q3. PR Labels: The labels added to PRs are crucial as they determine whether a release occurs. Is there any documentation specifying which labels trigger a release and which do not?
Thank you for taking the time to provide your insights.
Best regards,
Vahila.
Q1. Release Triggering: My understanding is that every successful build of the default branch triggers a release
in the kubernetes-plugin, the latest release includes changes from multiple PRs.
does the release happen when the PR is merged?
Q2. Automated Versioning: How is the automated version generated?
How is the version determined when multiple PRs or commits are involved?
Q3. PR Labels: The labels added to PRs are crucial as they determine whether a release occurs. Is there any documentation specifying which labels trigger a release and which do not?
Q1. Our plan is leverage CD but to trigger the release explicitly, not on every push.
In the version format, is it okay to have only a manually controlled semantic version(ex: 4.2.34) and not append the ${changelist}.
Q2. I wanted to understand the role of the Jenkins build and the CD using GitHub actions. My understanding is that on ci.jenkins.io CI build occurs and tests are run. And GitHub actions is used to upload the artifacts to Maven antifactory. Is this correct?
Thank you for sharing the additional links and your inputs. I want to confirm that based on my understanding Semantic Versioning helps indicate the type of changes in a release(from user perspective - in case of option two of version format), but unique identification of release artifacts mainly relies on the machine generated changelist.