Pipeline to manage a complete gCube release.
https://wiki.gcube-system.org/gcube/Continuous_Integration:_Releases_Jenkins_Pipeline
Roberto Cirillo
07a6c87929
Reviewed-on: #3 |
||
---|---|---|
examples | ||
.gitignore | ||
Jenkinsfile | ||
LICENSE.md | ||
README.md |
README.md
gCubeRelease
Jenkins Pipeline script to manage a complete gCube release.
Requirements
- Jenkins ver. 2.164.2 or newer
- Pipeline plugin
- Pipeline: Maven
- Pipeline: Basic Steps
- Kubernetes (for the YAML parser)
- NodeLabelParameter (to allow to dynamically select the node on which a job should be executed)
- Email Extension (to send emails with attachments)
- Jenkins configured with a JDK global tool named 'OpenJDK 8'
- Jenkins configured with a Maven global tool named 'Maven 3.6.2'
- One or more Jenkins agents labeled as 'CD'
Expected parameters
Parameters from the Jenkins pipeline project:
- Type: a choice of 'SNAPSHOT-DRY-RUN', 'SNAPSHOT', 'RELEASE-DRY-RUN', 'STAGING', 'RELEASE'
- gCube_release_version: the gCube version to build (must match the YAML file in /releases)
- cleanup_gcube_artifacts: a boolean flag to decide whether to wipe out the gCube artifacts from the local repository before the build
- cleanup_local_repo: a boolean flag to decide whether to wipe out all the artifacts from the local repository before the build
- resume_from: a build number. If specified, the new build will resume from the last failed job of that build
References
Wiki doc
License
This project is licensed under the EUPL V.1.1 License.