В этом репозитории собраны примеры из моего YouTube канала. Тут я рассказываю о разных инструментах необходимых для DevOps специалиста и делюсь опытом.
Основная идея Infrastructure as Code (IaC) в том, чтобы описать инфраструктуру кодом и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
-
Docker - это программная платформа для быстрой сборки, отладки и развертывания приложений с помощью контейнеров.
-
kubeadm - это инструмент для простого и быстрого развёртывания кластера Kubernetes.
-
OpenTofu — программное обеспечение с открытым исходным кодом, используемое для управления внешними ресурсами (например, в рамках модели инфраструктура как код). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью декларативного языка конфигурации, известного как HashiCorp Configuration Language (HCL) или JSON.
-
Ansible — система управления конфигурациями, написанная на языке программирования Python, с использованием декларативного языка разметки для описания конфигураций. Применяется для автоматизации настройки и развёртывания программного обеспечения.
Pre-commit hook — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git. Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
Преимущества использования pre-commit hook-ов:
- Автоматизация проверки кода: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
- Раннее выявление ошибок: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода.
- Повышение производительности: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
- Установка
Прежде чем запускать хуки, необходимо установить менеджер пакетов pre-commit.
С помощью pip:
pip install pre-commit==3.7.1
В python-проекте добавьте в файл requirements.txt (или requirements-dev.txt) следующее:
pre-commit==3.7.1
С помощью homebrew:
brew install pre-commit
С помощью conda (через conda-forge):
conda install -c conda-forge pre-commit
- Быстрый запуск
Следуйте инструкциям по установке, приведенным выше.
pre-commit --version должен показать, какую версию вы используете.
pre-commit --version
pre-commit 3.7.1
Устанавливаем pre-commit
pre-commit install
Обновить все версии хуков до последней версии можно при помощи команды
pre-commit autoupdate