Requirement and Design document : DevOps- CI/CD

In a Gitflow branching strategy, you typically have two separate pull request (PR) workflows for approving code changes:

1. Feature Branch to Develop Branch (Targets Dev & QA):

  • Who submits the PR: A developer submits a PR after completing work on a feature branch.
  • What's reviewed: The PR reviewer focuses on the specific feature implementation and related code changes.
  • Reviewers: This typically involves developers familiar with the codebase and the feature's functionality.
  • Approval criteria: Reviewers assess the code quality, functionality, adherence to coding standards, and successful unit testing of the feature.
  • Deployment after merge: Upon successful merge into the develop branch, your CI/CD pipeline (if configured) can automatically deploy the code changes to the development (dev) and quality assurance (QA) environments for further testing.

2. Release Branch to Master Branch (Targets UAT & PROD):

  • Who submits the PR: A designated person (e.g., release manager) submits a PR after the release is planned and the release branch is prepared.
  • What's reviewed: The PR reviewer focuses on the completeness and stability of the release, ensuring it incorporates all approved features and bug fixes.
  • Reviewers: This might involve a broader team, including developers, testers, and potentially stakeholders, depending on the size and criticality of the release.
  • Approval criteria: Reviewers assess the overall stability, inclusion of required features and fixes, successful integration testing, and potentially UAT (user acceptance testing) results.
  • Deployment after merge: Upon successful merge into the master branch, your CI/CD pipeline can be configured to deploy the code changes to the user acceptance testing (UAT) environment first, followed by production (PROD) after successful UAT sign-off.

Key Points:

  • Separate PR workflows ensure focused reviews for features and overall release readiness.
  • Approval criteria for each PR stage should be well-defined and communicated within your team.
  • Leverage CI/CD pipelines to automate deployments based on branch merges (develop for dev/QA, master for UAT/PROD).

Additional Considerations:

  • The number of reviewers and specific approval requirements can be configured within your Git hosting platform's branch policies.
  • It's beneficial to have clear documentation outlining the PR workflow and approval process for your team.

Comments

Popular posts from this blog

APIM -- High Availability skipping DR and Geo-Redundancy

Working on Azure -- Terraform - connectivity