Skip to content

Implement CI/CD pipeline #68

Description

@mahedee

CI/CD Options for EduTrack (.NET 10 + Angular + PostgreSQL)

Here's a comparison of mainstream CI/CD platforms suitable for your stack.

📊 Comparison table

# Platform Popularity Pricing for public repos Pricing for private repos Self-host option Best fit for EduTrack
1 GitHub Actions ⭐⭐⭐⭐⭐ (dominant for GitHub repos) Free, unlimited 2,000 free min/mo (Free plan), 3,000 (Pro), pay-as-you-go after ✅ Self-hosted runners (free) 🥇 Top pick — repo already on GitHub
2 Azure DevOps Pipelines ⭐⭐⭐⭐ (huge in .NET / enterprise) Free, unlimited (1 parallel job, 1,800 min/mo) 1 free parallel job (1,800 min/mo); $40/mo per extra parallel job ✅ Self-hosted agents (free) 🥈 Excellent for .NET; deep Azure integration
3 GitLab CI/CD ⭐⭐⭐⭐ 400 free CI min/mo (Free tier) on SaaS Free / Premium $29/user/mo / Ultimate $99/user/mo ✅ Self-managed GitLab + runners (free CE) Good if you mirror to GitLab; great single-vendor DevOps
4 Jenkins ⭐⭐⭐⭐ (legacy/enterprise) Free Free ✅ Self-host only Full control, infra-heavy; overkill unless on-prem required
5 TeamCity (JetBrains) ⭐⭐⭐ Free Professional tier (100 build configs, 3 agents) Enterprise: from ~$2,400/yr (3 agents) ✅ Self-host; TeamCity Cloud SaaS from $45/mo Strong .NET support, great UI
6 CircleCI ⭐⭐⭐ Free tier: 6,000 build min/mo Performance from $15/mo; Scale custom ❌ SaaS (self-hosted runners optional) Fast SaaS; less common for .NET shops
7 Travis CI ⭐⭐ (declining) Limited free tier for OSS From $69/mo ❌ SaaS Was popular for OSS; mostly replaced by GH Actions
8 Bitbucket Pipelines ⭐⭐⭐ 50 free build min/mo (Free plan) Standard $3/user/mo (2,500 min); Premium $6/user/mo (3,500 min) ✅ Self-hosted runners Only relevant if you move to Bitbucket
9 AWS CodePipeline / CodeBuild ⭐⭐⭐ Pay-per-use (~$1/active pipeline/mo + build minutes) Same ❌ Managed AWS Good only if deploying primarily to AWS
10 Google Cloud Build ⭐⭐ 120 free build min/day Pay-per-use after free tier ❌ Managed GCP Only if deploying to GCP
11 Drone CI ⭐⭐ OSS edition free Enterprise license required for >5k users ✅ Self-host Lightweight, container-native
12 Buildkite ⭐⭐ 30-day trial $15/user/mo (Pro); custom Enterprise ✅ Hybrid (Buildkite controls, your agents) Hybrid model, great for scale
13 Argo CD / Argo Workflows ⭐⭐⭐ (Kubernetes GitOps) Free (OSS) Free ✅ K8s-only Pair with another CI for GitOps CD on Kubernetes
14 Tekton ⭐⭐ (CNCF) Free (OSS) Free ✅ K8s-only Cloud-native CI on K8s; steeper learning curve
15 Spacelift / Harness / Octopus Deploy ⭐⭐⭐ (commercial CD specialists) Limited free tiers Paid (Harness from $100/mo, Octopus from $360/yr) Hybrid Specialized release/deployment management

🏆 Recommendation for EduTrack

Given your project context (GitHub-hosted, .NET 10 + Angular + PostgreSQL, MIT-licensed, single maintainer + community contributors):

Rank Choice Why
🥇 GitHub Actions Zero setup, already integrated with PRs/issues, free for public repos, huge marketplace (actions/setup-dotnet, actions/setup-node, postgres service container), works seamlessly with the Contributing + PR workflow you already document
🥈 Azure DevOps Pipelines Best-in-class .NET tooling, free tier generous enough, ideal if you later deploy to Azure App Service / AKS
🥉 GitLab CI/CD (self-hosted) or Jenkins Only if you need fully on-prem control

✅ What a typical GitHub Actions pipeline for EduTrack would do

  1. CI on PRs — restore, build, dotnet test with coverage, npm ci && npm run test && npm run build for Angular, lint, security scan
  2. PostgreSQL service container for integration tests
  3. CD on main — build Docker images, push to GHCR/Docker Hub, deploy to Azure/AWS/your server
  4. Release automation — tag-triggered, attach artifacts, auto-generate release notes
  5. Quality gates — CodeQL scan, Dependabot, code coverage threshold

You already reference this direction in cicd-configuration.md and the "CI/CD Ready" badge in README.md.

Want me to outline a concrete GitHub Actions workflow file (build + test + Docker) tailored to your EduTrack + edutrack-ui layout?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions