Готовый Docker-образ с набором инструментов для CI/CD пайплайнов. Содержит все необходимые утилиты для работы с Kubernetes, контейнерами и автоматизации развертывания.
|
All checks were successful
Build and Push Docker Image / build (push) Successful in 50s
- Introduced YQ version 4.44.3 to the Dockerfile for YAML processing - Updated sanity checks to include verification of yq version |
||
|---|---|---|
| .forgejo/workflows | ||
| .gitignore | ||
| Dockerfile | ||
| README.md | ||
🚀 CI Tools Docker Image
Готовый Docker-образ с набором инструментов для CI/CD пайплайнов. Содержит все необходимые утилиты для работы с Kubernetes, контейнерами и автоматизации развертывания.
📦 Включенные инструменты
| Инструмент | Версия | Описание |
|---|---|---|
| Node.js | 20 (Bookworm) | Среда выполнения JavaScript |
| kubectl | v1.30.0 | CLI для управления Kubernetes кластерами |
| kubeseal | 0.34.0 | Утилита для работы с Sealed Secrets |
| Kaniko | v1.23.2 | Инструмент для сборки Docker-образов без Docker daemon |
| Helm | v3.15.4 | Менеджер пакетов для Kubernetes |
| Git | latest | Система контроля версий |
| Bash | latest | Командная оболочка |
🎯 Использование
Запуск контейнера
docker run -it --rm \
-v ~/.kube:/root/.kube \
-v $(pwd):/workspace \
-w /workspace \
your-registry/ci-tools:latest
Использование в CI/CD пайплайнах
GitHub Actions / Forgejo Actions
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: your-registry/ci-tools:latest
steps:
- name: Check Kubernetes version
run: kubectl version --client
- name: Deploy with Helm
run: helm upgrade --install my-app ./charts/my-app
GitLab CI
deploy:
image: your-registry/ci-tools:latest
script:
- kubectl apply -f k8s/
- helm upgrade --install app ./helm-chart
Примеры команд
# Проверка версий установленных инструментов
kubectl version --client
kubeseal --version
helm version
node --version
npm --version
# Работа с Kubernetes
kubectl get pods
kubectl apply -f deployment.yaml
# Работа с Sealed Secrets
kubeseal -o yaml < secret.yaml > sealed-secret.yaml
# Сборка образа с Kaniko
kaniko --context=/workspace \
--dockerfile=/workspace/Dockerfile \
--destination=my-registry/my-app:latest
🔨 Сборка образа
Локальная сборка
docker build -t ci-tools:latest .
Сборка с указанием версий
docker build \
--build-arg KUBECTL_VERSION=v1.30.0 \
--build-arg KUBESEAL_VERSION=0.34.0 \
--build-arg KANIKO_VERSION=v1.23.2 \
--build-arg HELM_VERSION=v3.15.4 \
-t ci-tools:latest .
📋 Требования
- Docker 20.10 или новее
- Доступ к интернету для загрузки зависимостей (при сборке)
🏗️ Структура проекта
ci-tools/
├── Dockerfile # Определение Docker-образа
├── .forgejo/
│ └── workflows/
│ └── build.yaml # CI/CD пайплайн для автоматической сборки
└── README.md # Документация
🔄 Автоматическая сборка
Образ автоматически собирается и публикуется при создании тега в репозитории через Forgejo Actions.
git tag v1.0.0
git push origin v1.0.0
📝 Лицензия
MIT
Примечание: Этот образ оптимизирован для использования в CI/CD пайплайнах и содержит только необходимые инструменты для автоматизации развертывания.