2.4 KiB
2.4 KiB
Deploy guide (nelm + Jenkins, no werf)
Charts live under each Bitbucket repo’s .helm/. Jenkins clones those repos on every job — it does not deploy from a hand-copied folder on disk.
Lab URLs
| What | URL / host | Creds |
|---|---|---|
| Bitbucket UI (Gitea) | https://bitbucket.valdemorte.online | bbadmin / admin123 |
| Jenkins | https://jenkins.valdemorte.online | admin / admin123 |
| Compose | ubuntu@192.168.10.68:~/ci-stack |
— |
Repos: bbadmin/{postgres,seaweedfs,ollama,keycloak,vllm}. Job: nelm-deploy. Contexts: lab-cluster-{dev,preprod,prod}.
How Jenkins gets the code
- Parameters include
GIT_BASE_URL(defaulthttp://192.168.10.68:7990/bbadmin) andGIT_BRANCH(main). - Job runs
jenkins/checkout-repos.sh→ fresh clone into$WORKSPACE/repos/<service>. - Build/deploy use only that checkout (
.helm/,Dockerfile).
Agent still holds non-git secrets/tools only:
~/nelm-work/.nelm_secret_key~/nelm-work/.git_user+.git_token~/kube-deploy.config~/nelm-work/jenkins/checkout-repos.sh(CI helper; prefer keeping the same scripts in anelm-ciBitbucket repo in production)
See CLIENT-SETUP.ru.md for client rollout and NELM-CLOSED-LOOP.ru.md for closed-loop chart/Dockerfile changes.
Tools on the agent
export NELM_SECRET_KEY=$(cat ~/nelm-work/.nelm_secret_key)
export PATH="$HOME/bin:$PATH"
export KUBECONFIG=$HOME/kube-deploy.config
Images
- Default
values.yaml→ internal registry (192.168.10.68:5000/...in lab). - Lab smoke test: job flag
USE_PUBLIC_IMAGES=true→values-public.yaml. - Client closed loop:
USE_PUBLIC_IMAGES=false.
Deploy SA
./create-deploy-sa.sh
Manual deploy (after git clone)
git clone http://192.168.10.68:7990/bbadmin/postgres.git
export NELM_SECRET_KEY=$(cat .nelm_secret_key)
nelm release install -n dev -r postgres-dev \
--set env=dev --set global.cluster=dev \
--values postgres/.helm/values-public.yaml \
postgres/.helm
Jenkins parameters
| Parameter | Meaning |
|---|---|
SERVICE |
postgres … vllm / all |
ENV |
dev / preprod / prod |
ACTION |
build / deploy / build-and-deploy |
USE_PUBLIC_IMAGES |
lab overlay |
GIT_BASE_URL |
Bitbucket project base |
GIT_BRANCH |
branch to deploy |
REGISTRY |
push target for build |
Pipeline sources: root Jenkinsfile + jenkins/*.groovy + jenkins/checkout-repos.sh.