dependabot[bot] 28da686bd8 Bump actions/checkout from 5.0.0 to 6.0.0 (#36)
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>
2025-11-26 10:39:17 +03:00
2024-11-12 09:22:19 +03:00
2025-01-14 12:06:30 +03:00
2024-07-27 11:35:15 +03:00
2024-11-04 12:21:00 +03:00
2024-11-12 09:22:19 +03:00
2024-11-12 09:22:19 +03:00
2024-12-23 17:33:29 +03:00
2024-04-15 13:15:18 +03:00
2024-12-24 05:24:41 +03:00
2024-11-04 12:21:00 +03:00

learn-devops

GitHub stars GitHub forks GitHub issues GitHub license

Описание

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

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

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

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

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

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

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

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

  5. TalosTalos 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
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%