indigo-dc / jenkins-pipeline-library

Jenkins pipeline library with common functionalities for CI/CD environments, mainly targeted for the implementation of the SQA baseline requirements from https://indigo-dc.github.io/sqa-baseline/
Apache License 2.0
11 stars 6 forks source link

Automate git flow with Jenkins #95

Closed samuelbernardolip closed 3 years ago

samuelbernardolip commented 4 years ago

Taking into account the current contributing guide lines, we can automate some of the manual procedures between release stages:

For stable/ branch this will require to set a trigger condition, so stable branch will be created (for instance closing a milestone for a release). With that the branch stable/ should be created with the contents from the associated release/ and also the same for jenkins/release/ into jenkins/stable/. A jenkins job will be triggered after the jenkins/stable/ creation. That will use same Jenkinsfile that with when clause will distinguish between the pipeline for release and stable branches. Jenkins job for stable branch will trigger jobs for all registered use cases and test the current version. After the job validation from all linked use cases, a new tag will be created in github for the release version.

Note: .sqa and Jenkinsfile are created manually in jenkins/release/ branch that will have all CI related code, so we can keep library release branch clean. CI code can also be modified later in jenkins/stable/ branch and jenkins/release/ for new versions can be merged from previous jenkins/release/ and jenkins/stable/* as needed.

samuelbernardolip commented 3 years ago

Already implemented for github repositories using github workflows.