On-Prem GitLab CI/CD Setup
Budget: ₹600 – ₹1,500 INR
I have an on-premises GitLab instance and a suite of microservices that need a reliable Build → Test → Deploy workflow. What I’m missing is a robust CI/CD pipeline that ties everything together end-to-end.
Here’s the current picture:
• Source code already lives in self-hosted GitLab repositories.
• Runners can be added or re-configured as needed (Shell, Docker, or Kubernetes executors—whatever you recommend for clean, repeatable builds).
• Deployments target our own servers behind the firewall; no cloud resources are involved.
Your task is to design and implement the entire pipeline within GitLab, wiring up the three stages—build, automated testing, and final deployment—so that every merge to our default branch automatically moves code all the way to production (or a staging environment if you prefer to include it). Along the way I’d like to see:
• A clear .gitlab-ci.yml file for at least one representative microservice that I can adapt to the others.
• Runner configuration or guidance so jobs are distributed efficiently.
• Environment variables, secrets handling, and artifact management set up securely inside GitLab.
• A short README or screencast that explains how to extend the pipeline to additional services.
Please focus strictly on our on-prem constraints—no calls to external cloud services. If we need container registries or similar tooling, we’ll host them internally.
I’ll consider the job complete once I can push a change, watch it build, watch automated tests pass, and see the new version land on the target server with zero manual steps.
Here’s the current picture:
• Source code already lives in self-hosted GitLab repositories.
• Runners can be added or re-configured as needed (Shell, Docker, or Kubernetes executors—whatever you recommend for clean, repeatable builds).
• Deployments target our own servers behind the firewall; no cloud resources are involved.
Your task is to design and implement the entire pipeline within GitLab, wiring up the three stages—build, automated testing, and final deployment—so that every merge to our default branch automatically moves code all the way to production (or a staging environment if you prefer to include it). Along the way I’d like to see:
• A clear .gitlab-ci.yml file for at least one representative microservice that I can adapt to the others.
• Runner configuration or guidance so jobs are distributed efficiently.
• Environment variables, secrets handling, and artifact management set up securely inside GitLab.
• A short README or screencast that explains how to extend the pipeline to additional services.
Please focus strictly on our on-prem constraints—no calls to external cloud services. If we need container registries or similar tooling, we’ll host them internally.
I’ll consider the job complete once I can push a change, watch it build, watch automated tests pass, and see the new version land on the target server with zero manual steps.
Related categories:
Docker
GitLab
Continuous Integration
Kubernetes
DevOps
Automation
Microservices
CI/CD