Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5.0.0...v6.0.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
learn-devops
Описание
В этом репозитории собраны примеры с YouTube/Rutube каналов. Тут я рассказываю о разных инструментах необходимых для DevOps специалиста и делюсь опытом.
Мы стремимся подходу Инфраструктура как код
Основная идея Infrastructure as Code (IaC) в том, чтобы описать инфраструктуру кодом и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
Структура проекта
-
Docker - это программная платформа для быстрой сборки, отладки и развертывания приложений с помощью контейнеров.
-
kubeadm - это инструмент для простого и быстрого развёртывания кластера Kubernetes.
-
OpenTofu — программное обеспечение с открытым исходным кодом, используемое для управления внешними ресурсами (например, в рамках модели инфраструктура как код). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью декларативного языка конфигурации, известного как HashiCorp Configuration Language (HCL) или JSON.
-
Ansible — система управления конфигурациями, написанная на языке программирования Python, с использованием декларативного языка разметки для описания конфигураций. Применяется для автоматизации настройки и развёртывания программного обеспечения.
-
Talos — Talos Linux — это Linux, разработанный для Kubernetes: безопасный, неизменяемый и минимальный.
Pre-commit hook
Pre-commit hook — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git. Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
Преимущества использования pre-commit hook-ов:
- Автоматизация проверки кода: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
- Раннее выявление ошибок: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода.
- Повышение производительности: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
- Установка
Прежде чем запускать хуки, необходимо установить менеджер пакетов pre-commit.
С помощью pip:
pip install pre-commit
В python-проекте добавьте в файл requirements.txt (или requirements-dev.txt) следующее:
pre-commit
С помощью homebrew:
brew install pre-commit
С помощью conda (через conda-forge):
conda install -c conda-forge pre-commit
- Быстрый запуск
Следуйте инструкциям по установке, приведенным выше.
pre-commit --version должен показать, какую версию вы используете.
pre-commit --version
pre-commit 4.0.1
Устанавливаем pre-commit
pre-commit install
Обновление версии хуков
Обновить все версии хуков до последней версии можно при помощи команды
pre-commit autoupdate