Jenkins - How many CI/CD pipelines for a release?

こ雲淡風輕ζ 提交于 2019-12-01 04:12:53

问题


Using below Git work flow, for any release,

For continuous delivery, my understanding is, two Jenkins pipe lines need to be created, as shown below:

1) Build pipeline that gets triggered on merge of every Feature branch(green) into Develop branch(Purple). Pipeline will push product-x.y-snapshot.jar in Nexus repo. Purpose of this jar is for QA testing

2) Release pipeline that gets triggered on merge of every new Release branch to Master branch. Pipeline will push product-x.y.jar in Nexus repo. This jar goes in production directly.

Both pipelines have auto-tests for every functionality. Same number of autotests run in both pipelines


1) Does two pipelines suffice for stable release? product-x.y.jar with new features added as part of that release

2) If yes, How binary artifactory has to be maintained for both build and release pipeline? using Nexus... please provide any reference


回答1:


1) This question doesn't have one right answer - in most cases two pipelines (one for feature branches and other for master branch) is sufficient for creating stable releases, but usually teams use three staging environments (for example, see details in this article):

  • Dev environment: for working on develop (or feature) branch and run automation tests;
  • QA environment: for providing a more stable version of the code for testing by QA team;
  • Prod environment: for building production-ready code that is currently on the master branch.

And in that case you can have three pipelines for each staging environment (or one pipeline with parameters for choosing and building each type of environment). There are a lot of examples of Jenkins continuous delivery configuration in the internet.

2) If I understand you correctly, for maintaining artifacts you can use Nexus Platform Plugin (see this example) or Nexus Artifact Uploader to publish a specific artifact from Jenkins to Nexus.



来源:https://stackoverflow.com/questions/54174394/jenkins-how-many-ci-cd-pipelines-for-a-release

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!