Here is the example pipeline we will talk at high level. It is entirely up to process that you want to implement in your organization, this is just one example.
In this pipeline, we will have 4 roles which makes up our Team.
High Level Approach
Here is high level approach, in next section we will show screen shot for each Gate and Step.
- There are 4 stages - Development, Test, QA and Production.
- Development stage does not have any Gates, so all projects will deploy right away when new Release Snapshot is created.
- Run various types of tests in each Stage and check for results on next stage.
- Test environment is based on Schedule, but QA is based on approval by QA team to make sure they are ready to accept new code.
- All steps in pipeline are automated except there is a step in QA to perform some Manual tests.
- Production environment has Approval as well as Schedule. Weekend schedule allows for automated deployments at appropriate time.
- Deploy All step will notify appropriate team on Failure in each Stage.
Stages
Development
We are not using any Gates in development environment to allow for continuous deployment in to that environment. Developers can setup Poll or Schedule based Build trigger on Projects to allow for build and deploys in continuous manner.
Steps used are for Deploying All Projects and Test All to execute Unit Tests. Deploy All Step will deploy all projects in Release as per Deploy Priority setup on Release, which will allow for Sequenced deployments.
Test
First thing we want to do is to check for Tests executed in Development environment and move on only if Tests were successful. Then we will use Schedule Gate to automatically deploy at Noon everyday. This option allows us to deploy to Test environment at predefined time and it will take latest Snapshot successfully deployed in Development environment.
Steps used are for Deploying All Projects and Test All to execute Integration Tests. Deploy All Step will deploy all projects in Release as per Deploy Priority setup on Release, which will allow for Sequenced deployments.
QA
Production