b2e301dd32
Ship Harbor/Hub push with latest+version tags, deploy to openstack.devops.org.ru, and show the package version badge in Help → About.
3.2 KiB
3.2 KiB
Language / Язык: English | Русский
CI/CD (Jenkins + Gitea)
SemVer хранится в VERSION. Локальный bump:
make bump-patch / make bump-minor (синхронизирует pyproject.toml и Helm).
Jenkins версию не поднимает — собирает то, что в коммите.
Публичный URL после деплоя: https://openstack.devops.org.ru/
Pipeline
Один Jenkinsfile на ветках main / master:
- Build & push (agent
docker/ DinD) — multi-archlinux/amd64,linux/arm64в Harbor и Docker Hub, теги только:{VERSION}и:latest. - Deploy —
kubectl set imageдляsimulators/simulators-openstack(контейнерsimulator+ initContainermigrate), затем rollout status (--timeout=1200s).
Первый install в кластере (Ingress, Postgres, секреты) — не этот job, а
make addon-simulators в DevOpsTools/K3S (simulators_proxmox_host: openstack.devops.org.ru).
Образы
| Registry | Repository |
|---|---|
| Harbor | hub.antropoff.ru/devops-tools/openstack-api-simulator |
| Docker Hub | inecs/openstack-api-simulator |
Credentials (Jenkins Global)
| ID | Тип | Назначение |
|---|---|---|
harbor-devops-tools-push-pull-access |
Username/password | Push в Harbor |
docker-hub |
Username/password | Docker Hub inecs |
k3s-kubeconfig |
Secret file | Kubeconfig для deploy |
ssh-gitea-key |
SSH private key | Checkout из Gitea |
Что сделать в Gitea
- Репозиторий на Gitea (зеркало или primary), ветка
main. - Deploy key / credential Jenkins
ssh-gitea-keyс правом clone (git@…:…/openstack_api_simulator.git). - По желанию: webhook Gitea → Jenkins Multibranch (или polling / Organization Folder).
Что сделать в Jenkins
- Credentials — четыре ID выше (как у Wrapped), если ещё нет.
- Agent — pod template label
dockerс контейнеромdocker(DinD / buildx), как у Wrapped. - Job — Multibranch Pipeline (или Pipeline from SCM):
- Script Path:
Jenkinsfile - Ветки:
main(иmasterпри необходимости) - SCM: SSH URL Gitea +
ssh-gitea-key
- Script Path:
- Harbor — проект
devops-tools, robot может pushopenstack-api-simulator. - Docker Hub — репозиторий
inecs/openstack-api-simulator, права уdocker-hub. - Кластер — релиз
simulatorsв nssimulatorsуже установлен (make addon-simulators). Deployment:simulators-openstack. - После bump
VERSIONи push вmain— прогнать job и проверить:- теги
:0.x.yи:latestв Harbor/Hub kubectl -n simulators get deploy,ing- Help → About: badge
v0.x.yна https://openstack.devops.org.ru/
- теги
Локальный релиз без Jenkins
make bump-patch # или bump-minor
make version-commit
git push origin HEAD
# или только Hub вручную:
make release