mirror of
https://github.com/batonogov/learn-devops.git
synced 2025-12-02 10:13:03 +00:00
22
README.md
22
README.md
@@ -7,7 +7,10 @@
|
||||
|
||||
## Мы стремимся подходу **Инфраструктура как код**
|
||||
|
||||
Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
|
||||
Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания.
|
||||
IaC работает со всеми компонентами инфраструктуры так, будто это просто данные.
|
||||
Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование,
|
||||
а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
|
||||
|
||||
## Структура проекта
|
||||
|
||||
@@ -15,19 +18,28 @@
|
||||
|
||||
2. [kubeadm](./kubeadm/) - это инструмент для простого и быстрого развёртывания кластера Kubernetes.
|
||||
|
||||
3. [OpenTofu](./opentofu/) — программное обеспечение с **открытым исходным кодом**, используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**, известного как HashiCorp Configuration Language (HCL) или JSON.
|
||||
3. [OpenTofu](./opentofu/) — программное обеспечение с **открытым исходным кодом**,
|
||||
используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation.
|
||||
Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**,
|
||||
известного как HashiCorp Configuration Language (HCL) или JSON.
|
||||
|
||||
4. [Ansible](./ansible/) — система управления конфигурациями, написанная на языке программирования **Python**, с использованием **декларативного языка разметки** для **описания конфигураций**. Применяется для **автоматизации настройки и развёртывания программного обеспечения**.
|
||||
4. [Ansible](./ansible/) — система управления конфигурациями, написанная на языке программирования **Python**,
|
||||
с использованием **декларативного языка разметки** для **описания конфигураций**.
|
||||
Применяется для **автоматизации настройки и развёртывания программного обеспечения**.
|
||||
|
||||
5. [Talos](./talos/) — **Talos Linux** — это **Linux**, разработанный для **Kubernetes**: безопасный, неизменяемый и минимальный.
|
||||
|
||||
## Pre-commit hook
|
||||
|
||||
**Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git.
|
||||
Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
|
||||
Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода,
|
||||
статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
|
||||
|
||||
Преимущества использования **pre-commit hook**-ов:
|
||||
|
||||
- **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
|
||||
- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода.
|
||||
- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий,
|
||||
что снижает количество багов и повышает качество кода.
|
||||
- **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
|
||||
|
||||
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
|
||||
|
||||
Reference in New Issue
Block a user