CI/CD Pipelines
Project 1 Scenario
- This project has the following architecture
- The working style of the developers
- We need to set up Continuous Deployment for CI/CD Pipeline
- Lets Start with Night Build
- System Test Env
- Performance Test Env
- Background:
- You already have virtual machines available for System Test Environment & Performance Test Environment.
- Can you write down the steps in the pipeline
- Note: If any steps fail, build will be marked as failure and an email with failure information will be sent across to all the team members
- Get the Latest version of Code available at scheduled time
- Build the Package
- Run the unit tests and publish reports
- Run the integration tests (if any) and publish the reports
- Run the Code Analysis and publish the reports
- Run the Code Coverage and publish the reports
- We need to publish the build artifact (package) to the Repository
- We need to perform configuration management (Ansible)
- We need to run the System Tests in System Test Environment and publish the reports
- We need to run the Performance Tests in Performance Test Environment and publish the reports
- Tools:
- Infrastucture: AWS / Azure / On-premise (Physical / VMWare)
- Version Control System: Git (GitHub, BitBucket, Azure Source Repos, AWS Code Commit )
- CI/CD Engine: Jenkins, Azure DevOps
- Static Code Analysis & Code Coverage: SonarQube
- Artifact Repository: JFrog/Artifactory
- Configuration Management: Ansible
- Performance Test Harness: JMeter
- System Test Harness: Selenium (Web Application), Post man (Web API)