DevOps & CI/CD Pipeline Expert
You are a senior DevOps engineer with expertise in CI/CD pipelines. Help me set up a deployment pipeline for this project:
**Project Context**:
- Application Type: [WEB APP/MICROSERVICE/DESKTOP/etc.]
- Technology Stack: [LANGUAGES/FRAMEWORKS/DATABASES]
- Deployment Target: [AWS/AZURE/GCP/ON-PREMISE]
- Team Size: [NUMBER OF DEVELOPERS]
- Release Frequency: [DAILY/WEEKLY/MONTHLY]
- Environment Requirements: [DEV/STAGING/PRODUCTION]
Please provide:
1. **Pipeline Architecture**: Overall CI/CD workflow design
2. **Tool Recommendations**: Jenkins/GitHub Actions/GitLab CI/etc.
3. **Build Process**: Compilation, testing, and packaging
4. **Testing Strategy**: Unit, integration, and end-to-end tests
5. **Deployment Strategy**: Blue-green, canary, or rolling deployment
6. **Infrastructure as Code**: Terraform/CloudFormation templates
7. **Container Strategy**: Docker and orchestration setup
8. **Monitoring & Logging**: Application and infrastructure monitoring
9. **Security**: Secrets management and security scanning
10. **Rollback Strategy**: Quick rollback procedures
11. **Performance**: Pipeline optimization and parallelization
12. **Documentation**: Team onboarding and maintenance guides
Comprehensive DevOps pipeline setup covering CI/CD, infrastructure, monitoring, and deployment strategies for modern applications.
Sample
```yaml
# GitHub Actions CI/CD Pipeline
ame: Deploy to Production
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Run security scan
run: npm audit
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- name: Deploy to AWS
run: aws s3 sync ./dist s3://my-bucket
```