Skip to content

Conversation

@devin-ai-integration
Copy link

Convert Jenkins CI/CD pipelines to GitHub Actions workflows

Summary

This PR completely migrates the existing Jenkins-based CI/CD system to GitHub Actions workflows while maintaining full feature parity. The migration includes:

  • CI Pipeline: Replaces Jenkinsfile with .github/workflows/ci.yml containing 10 stages including security scanning (Trivy, OWASP), code quality (SonarQube), and Docker operations
  • CD Pipeline: Replaces GitOps/Jenkinsfile with .github/workflows/cd.yml for GitOps deployment with Kubernetes manifest updates and email notifications
  • Legacy Preservation: Moved all original Jenkins files to legacy/jenkins/ directory for reference
  • Documentation: Updated README.md and cicd.md, added comprehensive secrets documentation in .github/SECRETS.md

The GitHub Actions workflows provide equivalent functionality to the original Jenkins pipelines with improved integration to GitHub's native CI/CD platform.

Review & Testing Checklist for Human

  • Configure all required repository secrets as documented in .github/SECRETS.md (Docker Hub, SonarQube, email SMTP credentials)
  • Test CI workflow end-to-end by triggering manually with gh workflow run ci.yml --ref DevOps -f docker_tag=test-v1.0
  • Verify CD workflow triggers correctly after successful CI build and updates Kubernetes manifests in kubernetes/bankapp-deployment.yml
  • Validate security scanning tools work - check that Trivy, OWASP dependency check, and SonarQube produce expected outputs and artifacts
  • Test email notifications are sent with correct formatting and deployment status information

Notes

⚠️ Critical: This PR could not be tested locally due to external service dependencies (SonarQube server, Docker Hub, email SMTP). The workflows include complex tool installations and integrations that require thorough end-to-end testing before merging.

The CD workflow modifies and commits to the DevOps branch directly - ensure this doesn't conflict with any branch protection rules.

Link to Devin run: https://app.devin.ai/sessions/deb656576f2b4c039973f44c3901fa47
Requested by: Stephen Cornwell (@stephencornwell)

devin-ai-integration bot and others added 2 commits September 14, 2025 08:07
- Replace Jenkins CI pipeline with GitHub Actions CI workflow (.github/workflows/ci.yml)
- Replace Jenkins CD pipeline with GitHub Actions CD workflow (.github/workflows/cd.yml)
- Archive legacy Jenkins files in legacy/jenkins directory
- Add documentation for required GitHub Actions secrets (.github/SECRETS.md)
- Update README.md and cicd.md to reflect GitHub Actions migration
- Maintain all existing functionality: security scanning, code quality, Docker build/push, GitOps deployment

Features:
- Trivy filesystem scanning with vulnerability reporting
- OWASP dependency check with artifact upload
- SonarQube analysis with quality gates
- Docker build and push to Docker Hub with proper authentication
- GitOps workflow with automatic Kubernetes manifest updates
- Email notifications matching existing Jenkins format
- Repository dispatch for CI/CD pipeline coordination
- Manual workflow triggers via workflow dispatch

Co-Authored-By: Stephen Cornwell <stephencornwell20@gmail.com>
- Remove original Jenkins files (Jenkinsfile, GitOps/Jenkinsfile, vars/)
- Update README.md with GitHub Actions migration documentation
- Update cicd.md with GitHub Actions workflow information
- All Jenkins functionality now replaced with GitHub Actions workflows

Migration complete:
- CI workflow: .github/workflows/ci.yml
- CD workflow: .github/workflows/cd.yml
- Secrets documentation: .github/SECRETS.md
- Legacy files preserved: legacy/jenkins/

Co-Authored-By: Stephen Cornwell <stephencornwell20@gmail.com>
@devin-ai-integration
Copy link
Author

Prompt hidden (unlisted session)

@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