Ответ
В моей предыдущей команде мы использовали GitOps-подход с ArgoCD для развертывания в Kubernetes. CI/CD был построен на GitHub Actions (для сборки и тестов) и ArgoCD (для деплоя). Инфраструктура описывалась через Terraform, конфиги — Helm-чарты.
Пример пайплайна:
# GitHub Actions (CI)
- name: Build & Push
uses: docker/build-push-action@v4
with:
tags: ${{ secrets.REGISTRY }}/app:${{ github.sha }}
# ArgoCD Application Manifest (CD)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app
spec:
source:
repoURL: git@github.com:org/repo.git
targetRevision: main
path: charts/app
destination:
server: https://kubernetes.default.svc
namespace: production
Мониторинг был на стеке Prometheus + Grafana, логи централизовали в Loki. Инциденты разбирали через постмортемы, процессы документировались в Confluence, общение велось в Slack с ежедневными стендапами.