Skip to content

batonogov/learn-devops

Repository files navigation

learn-devops

Описание

В этом репозитории собраны примеры из моего YouTube канала. Тут я рассказываю о разных инструментах необходимых для DevOps специалиста и делюсь опытом.

Мы стремимся подходу Инфраструктура как код

Основная идея Infrastructure as Code (IaC) в том, чтобы описать инфраструктуру кодом и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.

Структура проекта

  1. Docker - это программная платформа для быстрой сборки, отладки и развертывания приложений с помощью контейнеров.

  2. kubeadm - это инструмент для простого и быстрого развёртывания кластера Kubernetes.

  3. OpenTofu — программное обеспечение с открытым исходным кодом, используемое для управления внешними ресурсами (например, в рамках модели инфраструктура как код). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью декларативного языка конфигурации, известного как HashiCorp Configuration Language (HCL) или JSON.

  4. Ansible — система управления конфигурациями, написанная на языке программирования Python, с использованием декларативного языка разметки для описания конфигураций. Применяется для автоматизации настройки и развёртывания программного обеспечения.

Pre-commit hook

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

About

Примеры с моего YouTube канала

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published