github-actions[bot] d6db5a4e6a Update docker readme (#17)
Co-authored-by: Fedor Batonogov <f.batonogov@yandex.ru>
2024-10-08 16:40:51 +03:00
2024-04-15 13:45:37 +03:00
2024-07-27 11:35:15 +03:00
2024-10-08 16:40:51 +03:00
2024-07-27 11:35:15 +03:00
2024-07-27 11:35:15 +03:00
2024-07-27 11:35:15 +03:00
2024-04-27 15:53:50 +03:00
2024-04-15 13:15:18 +03:00
2024-05-22 15:05:24 +03:00
2024-05-22 15:05:24 +03:00

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
Description
No description provided
Readme MIT 258 KiB
Languages
HCL 42%
Jinja 35.1%
Dockerfile 10.4%
Shell 8.9%
Go 1.8%
Other 1.8%