Learning journal + technical portfolio documenting my progression through modern DevOps practices.
This repository is associated to my DevOps Notion Website. It contains exercises, scripts, configurations and projects completed during the TWN DevOps Bootcamp of Nana Janashia and personal explorations through DevOps environment.
I started in December 2025, dedicating 30-40 hours/week - going well beyond the announced 15-20h - testing, experimenting, and deepening my understanding of each concept and tool.
💡 My goal is to become a real operational Cloud & DevOps Engineer
and as said Enstein : "The more I learn, the more I realize how much I don't know"
I build, I run, so if you're looking for a persevering candidate -> Please, let's connect.
DevOps/
├── PART1-Prerequisites/
│ ├── 1.Introduction/ # Roles of DevOps and List of Projects built
│ ├── 2.1.OS_Linux_basics/ # Shell exercises (Ex_2 → Ex_6_7_8_9)
│ ├── 2.2.Databases/ # Types explainations
│ ├── 3.Git_Version_Control/ # 10 scripted git exercises + Gradle Java app
│ └── 4.Build_and_Package_Manager_Tools/ # java-app, java-maven-app, react-nodejs-example
├── PART2-Fundamentals/
│ ├── 5.Cloud_And_Iaas/ # Node.js + Java/React apps deployed on DigitalOcean
│ ├── 6.Nexus_Repo_Manager/ # Gradle/Maven apps + 9 scripted exercises
│ ├── 7.Docker_Containers/ # js-app-db, docker-compose, Dockerfiles, secrets
│ └── 8.Nginx/ # [submodule] webapp + nginx config
├── PART3-Core/
│ ├── 9.Jenkins_CI-CD/ # Multiple pipelines, shared libraries, server install scripts
│ ├── 10.AWS_Services/ # CI/CD projects: SSH+DockerHub+EC2, SSM+ECR+EC2
│ ├── 11.Kubernetes_Orchestration/ # YAML manifests: deployments, services, ingress, volumes
│ └── 12.Kubernetes_on_AWS-EKS/
└── PART4-Advanced/ # 🚧 In progress
│ ├── 13-Terraform/
│ ├── 14-Python/
│ ├── 15-Ansible/
│ └── 16-Prometheus/
└── DevOps_Roadmap.md
| Topic | Key Concepts | What's in the repo |
|---|---|---|
| VirtualBox | Extension Pack, clean install, version checks | |
| Linux Basics | OS info, package managers, Vim, users/groups, permissions, SSH | script_install_java.sh — Install Java + version checkps_user.sh — List & sort user processes by CPU/meminstall_server_js.sh — Full Node.js app deployment (env vars, background run, log dir, service user) |
| Database Types | Relational vs NoSQL, organization patterns | Schema of Database's types |
| Bash Scripting | Variables, conditions, loops, functions, I/O | scripts with conditions, loops, functions with local scope and return codes, I/O: args, user input, file/CSV parsing, process substitution, file check |
| Git Version Control | Commands, branches, conflicts, stash, reset/revert | 10 scripted exercises: clone, .gitignore, feature/bugfix branches, merge requests, conflict resolution, revert & reset commits, branch cleanup |
| Build Tools & Package Managers | Artifacts, Maven/Gradle, Webpack, Docker basics | 6 exercises on a Gradle Java app (fix test, build, run jar, add params) + React/Node.js full-stack example with Webpack and Dockerfile |
| Topic | Key Concepts | What's in the repo |
|---|---|---|
| Cloud & IaaS | Cloud service types, DigitalOcean Droplet, firewall, SSH config | 6 exercises: package Node.js app (npm pack), provision DigitalOcean Droplet, install Node/npm, deploy artifact via SSH, run in background, open firewall port |
| Nexus Repository Manager | Installation, repo types, artifact publishing (Maven/Gradle), API, automation | 9 exercises: install Nexus, create npm & Maven repos, manage roles/users, publish Node.js tar & Gradle jar, query REST API, automate artifact fetch & deploy on DigitalOcean |
| Docker Containers | Images, volumes, networks, Dockerfile, Docker Compose, best practices, multi-stage builds | 8 exercises: MySQL + phpMyAdmin via Docker network & secrets, docker-compose with volumes & healthcheck, Dockerfile for Java app, push to Nexus Docker repo, full stack deployed on DigitalOcean |
| Nginx | Reverse proxy, web server, Kubernetes Ingress Controller | Submodule: Express app × 3 containers behind NGINX (reverse proxy, load balancer, TLS termination, gzip, cache) |
| Topic | Key Concepts | What's in the repo |
|---|---|---|
| Jenkins CI/CD | Freestyle jobs Pipelines Jenkinsfiles Multibranch Shared libraries Webhooks Auto-Versioning |
java-maven-app/ — freestyle → Jenkinsfile + script.groovyjava-dockerhub-pipeline/ — pipeline CI to Docker Hubjava-dockerhub-shared/ — global shared libraryjava-dockerhub-limited-shared/ — project-scoped shared library (submodule, DockerHub/ECR, EC2 SSH/SSM) auto-versioning-pipeline/ — Maven patch auto-increment + SCM skip Jenkins-exercises/ — Node.js full pipeline: Jest, Docker Hub push, Git commit-back jenkins-docker-platform*.sh — auto-install Jenkins+Docker (Ubuntu, AL2023) + scalable agents platform (docker/maven/nodejs/aws) |
| AWS Services | IAM, VPC, EC2, ECR, S3, CLI — with full CI/CD projects via SSH and SSM | react-nodejs-example/ — React + Node.js API (Webpack) + Dockerfile js-app-db/ — Node.js + MongoDB + docker-compose AWS-exercises/ : Node.js app with Jenkinsfile and docker-compose jma-ssh-dockerhub-ec2/ — Java Maven app -> Git -> Jenkins -> Docker Hub -> EC2 via SSH jma-ssm-ecr-ec2/ — Java Maven app -> Git -> Jenkins -> ECR -> EC2 via SSM (IAM policies) + Docker Compose SSH-vs-SSM.drawio — architecture comparison |
| Kubernetes | Architecture, kubectl, YAML configs, Namespaces, Services, Ingress, Volumes, Helm, RBAC, Microservices | |
| Kubernetes on AWS | EKS managed clusters |
| Topic | Key Concepts | What's in the repo |
|---|
- Terraform — Infrastructure as Code
- Python Automation Scripts
- Ansible — Automation Platform
- Prometheus — Monitoring
- 📝 Full Notes Website: Notes on my DevOps journey
- 🎓 Bootcamp: TechWorld with Nana — DevOps Bootcamp
- 🗺️ Roadmap: DevOps Roadmap
- 💼 LinkedIn: Cédric Tonquèze