Ansible — это мощный инструмент для DevOps, позволяющий настраивать сотни серверов и управлять инфраструктурой с одного файла. Без агентов, без лишней головной боли — всё через SSH и YAML.
В этом посте:
• Как устроен инвентори-файл и зачем он нужен.
• Простой playbook с установкой nginx.
• Команды для запуска задач.
• Пояснение ключевых параметров.
• Готовый шаблон для своих серверов.
🔥 — если узнал что-то новое
🤝 — если уже пользуешься
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30🤝12❤7👍4
Передаём секреты в CI/CD и не палимся!
Чтобы CI пайплайны были безопасными, важно уметь передавать ключи, токены и пароли — так, чтобы они не утекали в логах и не хранились в коде. Самый удобный способ — переменные secrets, встроенные в GitHub Actions. Покажу, как это делается.
Сначала заходим в настройки репозитория, далее Settings → Secrets and variables → Actions → New repository secret и создаём новый секрет. Например:
Теперь переходим к CI-файлу .github/workflows/deploy.yml.
Используем этот секрет внутри run через ${{ secrets.SECRET_KEY }} — но не выводим напрямую! Вот как надо:
Если хочется передать секрет как переменную окружения (например, использовать его в скриптах), делаем так:
Теперь переменная
🔥 В итоге: секрет хранится в зашифрованном виде, в логах не светится, в пайплайне используется безопасно.
➡️ DevOps Ready | #практика
Чтобы CI пайплайны были безопасными, важно уметь передавать ключи, токены и пароли — так, чтобы они не утекали в логах и не хранились в коде. Самый удобный способ — переменные secrets, встроенные в GitHub Actions. Покажу, как это делается.
Сначала заходим в настройки репозитория, далее Settings → Secrets and variables → Actions → New repository secret и создаём новый секрет. Например:
Name: SECRET_KEY
Value: super-secure-token
Теперь переходим к CI-файлу .github/workflows/deploy.yml.
Используем этот секрет внутри run через ${{ secrets.SECRET_KEY }} — но не выводим напрямую! Вот как надо:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use secret safely
run: |
echo "${{ secrets.SECRET_KEY }}" | some-secure-command
Если хочется передать секрет как переменную окружения (например, использовать его в скриптах), делаем так:
- name: Export secret to env
run: echo "SECRET=$SECRET_KEY" >> $GITHUB_ENV
env:
SECRET_KEY: ${{ secrets.SECRET_KEY }}
Теперь переменная
$SECRET
будет доступна на всех следующих шагах. Главное правило: никогда не выводим её напрямую через echo или print. GitHub и замаскирует, но лучше не рисковать.🔥 В итоге: секрет хранится в зашифрованном виде, в логах не светится, в пайплайне используется безопасно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥6👍4
Если у тебя свой сервер или мощный ПК, можно подключить его как
GitLab Runner
— и запускать CI/CD-пайплайны локально. Это экономит ресурсы и даёт полный контроль над окружением.В этом посте мы:
• Установили GitLab Runner и зарегистрировали его на свой проект.
• Настроили Docker executor для универсальности и изоляции.
• Подключили .gitlab-ci.yml и запустили первую сборку.
• Убедились, что Runner работает, и видим результат в GitLab UI.
🔥 — если впервые запускаешь runner
🤝 — если уже разворачивал вручную
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤝11👍4❤2
Grafana + Prometheus: следим за сервером как профи!
Мониторинг в DevOps без лишних затрат и сложности.
Prometheus собирает метрики, Grafana превращает их в красивые графики. Такой стек — основа мониторинга в Kubernetes, на VPS, в проде и локалке. Всё работает через web-интерфейс и легко масштабируется.
В этом посте:
🔥 — если узнал что-то новое
🤝 — если уже использовал
➡️ DevOps Ready | #гайд
Мониторинг в DevOps без лишних затрат и сложности.
Prometheus собирает метрики, Grafana превращает их в красивые графики. Такой стек — основа мониторинга в Kubernetes, на VPS, в проде и локалке. Всё работает через web-интерфейс и легко масштабируется.
В этом посте:
• Ставим Prometheus и настраиваем сбор метрик.
• Подключаем node_exporter для мониторинга ОС.
• Устанавливаем Grafana и настраиваем Data Source.
• Импортируем дашборды и настраиваем алерты.
• Получаем наглядный контроль над сервером и ресурсами.
🔥 — если узнал что-то новое
🤝 — если уже использовал
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24🤝11❤6👍3
Идеальный старт для тех, кто хочет разобраться в K8s без облаков и аренды серверов.
Minikube — это лёгкий способ развернуть кластер прямо на своём ПК. Отлично подходит для экспериментов, тестов и локальной отладки: всё через одну команду, работает на любой ОС.
В этом посте:
• Устанавливаем Minikube и нужные зависимости.
• Запускаем кластер и проверяем его работу.
• Деплоим простое приложение в Kubernetes.
• Открываем его в браузере и смотрим результат.
• Получаем стенд для изучения всего остального.
🔥 — если запустил Minikube впервые
🤝 — если уже используешь его в работе
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍8❤7🤝6