Skip to content

Latest commit

 

History

History
263 lines (181 loc) · 6 KB

File metadata and controls

263 lines (181 loc) · 6 KB

🚀 DotNet DevOps Pipeline

.NET Docker CI/CD Cloud Status Build Uptime

Visitors


📌 Project Overview

DotNet DevOps Pipeline is a fully automated production-ready CI/CD DevOps showcase project built using .NET 8, Docker, GitHub Actions, and Render Cloud.

This project demonstrates how to build, test, containerize, and deploy a modern web API into a real production environment using professional DevOps workflows.


🌍 Live Production URLs (API v1)

Service URL
✅ Health Check https://dotnet-devops-pipeline.onrender.com/api/v1/health
📘 Swagger UI https://dotnet-devops-pipeline.onrender.com/api/v1/swagger

⚡ CI/CD Pipeline Diagram (Mermaid)

flowchart LR
    A[Git Push] --> B[GitHub]
    B --> C[GitHub Actions CI]
    C --> D[dotnet restore]
    D --> E[dotnet build]
    E --> F[dotnet test]
    F --> G[Docker Build]
    G --> H[Render Deploy]
    H --> I[Live Production API]
Loading

📷 Application Screenshots

✅ Swagger UI (Production)

Replace this URL with your own screenshot later

https://dotnet-devops-pipeline.onrender.com/swagger

✅ Render Live Deployment

https://dotnet-devops-pipeline.onrender.com

🧠 DevOps Automation Flow

Push → CI → Test → Docker → Cloud → Live

🏗️ Tech Stack

Layer Technology
Backend .NET 8 Web API
Logging Serilog
Containers Docker
CI/CD GitHub Actions
Cloud Render
Monitoring Health Checks
Docs Swagger

✨ Key Features

✅ Full DevOps lifecycle automation ✅ Dockerized cloud-native API ✅ Automated build, test, and deploy ✅ Health monitoring & logging ✅ Production deployment with zero downtime triggers


📂 Project Structure

DotnetDevopsPipeline
 ├─ DotnetDevopsPipeline.Api
 │   ├─ Controllers
 │   ├─ Program.cs
 │   ├─ Dockerfile
 │   ├─ appsettings.json
 │   └─ Properties
 ├─ .github
 │   └─ workflows
 │       └─ dotnet-ci.yml
 ├─ .gitignore
 └─ README.md

🐳 Docker Usage (Local)

Build Image

docker build -t dotnetdevopspipeline .

Run Container

docker run -p 8080:8080 dotnetdevopspipeline

✅ Local Access


⚙️ GitHub Actions CI/CD

Defined in .github/workflows/dotnet-ci.yml

Triggered on

  • Push to main
  • Pull Requests

Pipeline Steps

  • Restore
  • Build
  • Test
  • Docker Image Build
  • Auto Deploy to Render

☁️ Render Cloud Deployment

Uses Docker-based deployment with real-time health checks.

ASPNETCORE_URLS=http://+:8080

🔍 Health Check Endpoint

GET /health

🏆 Career-Level Impact

✅ Demonstrates Production CI/CD expertise ✅ Shows real DevOps toolchain usage ✅ Proves cloud-native deployment skills


👨‍💻 Author

CodeByPinar https://github.com/CodeByPinar


🔮 Future Enhancements

  • API Versioning
  • Authentication
  • Database Integration
  • Metrics Monitoring (Prometheus)
  • Distributed tracing

✅ License

MIT


📌 Changelog

All notable changes to this project are documented in this section.
This project follows Semantic Versioning (SemVer).


🔹 v1.1.0 – Production Stability & API Versioning

Release Date: 2025-12-09

✅ Added

  • API versioning structure introduced (/api/v1)
  • Versioned health endpoint: /api/v1/health
  • Versioned Swagger UI access
  • Production-ready routing structure using MapGroup
  • Render production environment stabilization
  • Improved Serilog request logging for production visibility

🔧 Fixed

  • UsePathBase routing conflict resolved
  • Swagger and Health endpoints properly aligned with API versioning
  • Render port binding and startup stability issues fixed

🚀 Deployment

  • Fully automated CI + Docker + Render deployment verified
  • Live health monitoring confirmed in production

🔹 v1.0.0 – Initial Production Release

Release Date: 2025-12-09

✅ Features

  • .NET 8 Web API project initialized
  • Swagger UI integrated
  • Health check endpoint added (/health)
  • Serilog file & console logging enabled
  • Docker multi-stage build configured
  • GitHub CI pipeline created and verified
  • Render cloud deployment completed successfully

🎯 Status

  • Production-ready baseline established