Skip to main content

Зачем скрипты в DevOps

Автоматизация повторяющихся действий: деплой, проверка здоровья сервисов, разбор логов, подготовка окружения. Bash — на серверах и в CI; Python — для более сложной логики и интеграций (API, парсинг, библиотеки).

Ключевые темы

  • Переменные, условия (if, test, [ ]), циклы (for, while)
  • Функции, аргументы ($1, $@), коды выхода ($?)
  • Кавычки и экранирование
  • set -e, set -u, обработка ошибок
  • Чтение файлов построчно, работа с путями
  • Вызов внешних команд и проверка результата
  • Скрипты для вызова API (requests), парсинг JSON/YAML
  • Работа с файлами и путями (pathlib), subprocess
  • Виртуальное окружение: venv, зависимости
  • jq — JSON в CLI; yq — YAML
  • sed, awk — простая обработка текста

Пример: проверка HTTP в Bash

#!/usr/bin/env bash
set -euo pipefail
url="${1:-http://localhost:8080/health}"
code=$(curl -s -o /dev/null -w "%{http_code}" "$url")
if [[ "$code" -ge 200 && "$code" -lt 300 ]]; then
  echo "OK $code"
  exit 0
else
  echo "FAIL $code"
  exit 1
fi

Что добавить сюда

  • Свои скрипты деплоя/проверок
  • Примеры на Python (вызов K8s API, облачных API)
  • Ссылки на ShellCheck и best practices