Geliştiriciler için VPS: CI/CD ve Test Ortamı
Yazılım geliştiriciler için kendi kontrolündeki bir VPS, bulut hizmetlerine olan bağımlılığı azaltır ve geliştirme süreçlerini hızlandırır. Anubiz Host'un offshore VPS'leri, CI/CD pipeline, Docker registry, staging ortamı ve geliştirme sunucusu olarak kullanılabilir.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Self-Hosted GitLab Kurulumu
GitLab CE (Community Edition) tüm kaynak kod yönetimi, CI/CD ve container registry özelliklerini ücretsiz sunar:
apt update
apt install -y curl openssh-server postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
EXTERNAL_URL="https://gitlab.yourdomain.com" apt install -y gitlab-ceGitLab yapılandırması:
gitlab-ctl reconfigureİlk admin şifresi:
cat /etc/gitlab/initial_root_passwordGitLab minimum önerilen kaynaklar: 4 vCPU, 8 GB RAM, 50 GB disk. 5-10 geliştirici için yeterlidir.
Docker Registry ve CI/CD Pipeline
Self-hosted Docker registry ile container image'larınızı kontrol altında tutun:
docker run -d -p 5000:5000 --restart=unless-stopped -v /opt/registry:/var/lib/registry --name registry registry:2GitLab CI konfigürasyonu (.gitlab-ci.yml):
stages:
- test
- build
- deploy
test:
stage: test
image: node:20
script:
- npm ci
- npm test
build:
stage: build
script:
- docker build -t registry.yourdomain.com/myapp:$CI_COMMIT_SHA .
- docker push registry.yourdomain.com/myapp:$CI_COMMIT_SHA
deploy:
stage: deploy
script:
- ssh deploy@prod-server "docker pull registry.yourdomain.com/myapp:$CI_COMMIT_SHA && docker compose up -d"
only:
- mainStaging ve Test Ortamı Yönetimi
VPS üzerinde birden fazla ortam (development, staging, production) yönetimi:
Docker Compose profilleri ile farklı ortamları aynı sunucuda izole edin:
version: '3.8'
services:
app:
image: myapp:latest
profiles: ["staging", "production"]
environment:
- NODE_ENV=${APP_ENV:-staging}
app-dev:
image: myapp:dev
profiles: ["development"]
volumes:
- ./src:/app/srcOrtam başlatma:
# Staging
APP_ENV=staging docker compose --profile staging up -d
# Production
APP_ENV=production docker compose --profile production up -dNginx subdomain routing ile her ortama ayrı URL:
- dev.yourdomain.com
- staging.yourdomain.com
- yourdomain.com (production)
Monitoring ve Log Yönetimi
Geliştirici VPS için hafif monitoring stack:
Prometheus + Grafana Docker Compose ile:
version: '3.8'
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin123
depends_on:
- prometheus
node-exporter:
image: prom/node-exporter
ports:
- "9100:9100"Centralized log management için Loki + Promtail:
loki:
image: grafana/loki:latest
ports:
- "3100:3100"Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.