Skip to content

Conversation

@devin-ai-integration
Copy link

Convert Jenkins Pipelines to GitHub Actions Workflows

Summary

This PR converts the existing Jenkins CI/CD pipelines to GitHub Actions workflows while maintaining the same DevSecOps approach. The conversion includes:

CI Pipeline (.github/workflows/ci.yml):

  • Security scanning: Trivy filesystem scan, OWASP Dependency Check, SonarQube analysis
  • Docker build and push to registry
  • Artifact uploads for security scan results
  • Automatic triggering of CD pipeline on success

CD Pipeline (.github/workflows/cd.yml):

  • GitOps deployment: Updates Kubernetes manifest with new Docker image tag
  • Git commit and push of manifest changes
  • Email notifications with HTML formatting

Review & Testing Checklist for Human

This is a high-risk change that replaces the entire CI/CD system. Please verify the following 5 critical items:

  • Docker Registry Mismatch: CI pushes to madhupdevops/bankapp but CD updates trainwithshubham/bankapp-eks in the manifest - verify this is intentional or needs alignment
  • SonarQube Configuration: Update placeholder URL https://your-sonarqube-server.com to actual SonarQube server and verify scanner installation works
  • Required Secrets: Configure repository secrets: SONAR_TOKEN, DOCKERHUB_TOKEN, EMAIL_PASSWORD before testing
  • End-to-End Testing: Test complete workflow by triggering CI manually with workflow_dispatch and verify CD pipeline updates the Kubernetes manifest correctly
  • Email Recipients: Verify hardcoded email addresses (trainwithshubham@gmail.com) are appropriate for notifications

Notes

- Add CI workflow (.github/workflows/ci.yml) with security scanning stages:
  - Trivy filesystem vulnerability scanner
  - OWASP Dependency Check
  - SonarQube code analysis and quality gates
  - Docker build and push to madhupdevops/bankapp
  - Artifact uploads for security scan results

- Add CD workflow (.github/workflows/cd.yml) with GitOps deployment:
  - Updates Kubernetes manifest (kubernetes/bankapp-deployment.yml)
  - Commits and pushes manifest changes
  - Email notifications with HTML formatting

- Maintains same security-focused DevSecOps approach as Jenkins pipelines
- Triggers: CI on push/PR to main/DevOps branches, CD after CI completion
- Required secrets: SONAR_TOKEN, DOCKERHUB_TOKEN, EMAIL_PASSWORD

Co-Authored-By: Arjun Mishra <arjunsaxmishra@gmail.com>
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant