update git

This commit is contained in:
2025-03-06 14:23:36 +03:00
parent a9d2a5f182
commit 1445c4f31f
7 changed files with 462 additions and 7 deletions

View File

@@ -2,4 +2,26 @@
sidebar_position: 1
---
# Git
# Git
Источник: DeepSeek
Git — это распределённая система управления версиями, которая позволяет отслеживать изменения в файлах и проектах. Она широко используется в разработке программного обеспечения для управления исходным кодом, но может применяться и для других типов файлов.
## Основные возможности Git:
1. **Отслеживание изменений:** Git сохраняет историю всех изменений в проекте, что позволяет вернуться к любой предыдущей версии.
2. **Ветвление:** Можно создавать ветки (**branches**) для работы над разными версиями проекта одновременно.
3. **Слияние изменений:** Изменения из разных веток можно объединять (**merge**).
4. **Распределённость:** Каждый разработчик имеет полную копию репозитория, что позволяет работать автономно.
5. **Коллаборация:** Git упрощает совместную работу над проектами, особенно с использованием платформ вроде _GitHub_, _GitLab_ или _Bitbucket_.
## Основные команды Git:
- `git init` — инициализирует новый репозиторий.
- `git clone` — копирует удалённый репозиторий на локальную машину.
- `git add` — добавляет изменения в индекс для последующего коммита.
- `git commit` — сохраняет изменения в репозитории.
- `git push` — отправляет изменения в удалённый репозиторий.
- `git pull` — загружает изменения из удалённого репозитория.
- `git branch` — управляет ветками.
- `git merge` — объединяет ветки.
Git был создан Линусом Торвальдсом в 2005 году для разработки ядра Linux и с тех пор стал стандартом в индустрии разработки.

View File

@@ -2,4 +2,54 @@
sidebar_position: 2
---
# CI/CD
# CI/CD
Источник: DeepSeek
CI/CD (Continuous Integration / Continuous Deployment или Continuous Delivery) — это набор практик и инструментов, направленных на автоматизацию процессов разработки, тестирования и развертывания программного обеспечения. CI/CD помогает командам разработчиков быстрее и надежнее выпускать качественные продукты.
## CI
**Continuous Integration** — Непрерывная интеграция
Это процесс автоматического слияния изменений кода от нескольких разработчиков в общую ветку (например, `main` или `master`).
**Основные цели CI:**
- **Раннее обнаружение ошибок:** Автоматические тесты запускаются при каждом изменении кода.
- **Упрощение интеграции:** Регулярное слияние кода уменьшает конфликты между изменениями.
- **Повышение качества кода:** Постоянное тестирование и проверка кода.
**Как это работает:**
1. Разработчик делает изменения в коде и отправляет их в репозиторий (например, Git).
2. CI-система (например, Jenkins, GitLab CI, GitHub Actions) автоматически запускает сборку (build) и тесты.
3. Если тесты проходят успешно, изменения интегрируются в основную ветку.
## CD
Continuous Deployment / Continuous Delivery — Непрерывное развертывание/поставка
Это процесс автоматического развертывания кода в production или staging-среду после успешного прохождения CI.
- **Continuous Delivery:** Код автоматически готов к развертыванию, но решение о выпуске принимается вручную.
- **Continuous Deployment:** Код автоматически развертывается в production без ручного вмешательства.
## Как это работает:
1. После успешного прохождения CI, CD-система автоматически развертывает приложение на тестовых или production-серверах.
2. Процесс может включать дополнительные этапы, такие как нагрузочное тестирование, проверка безопасности и т.д.
## Преимущества CI/CD:
1. **Ускорение выпуска обновлений:** Автоматизация позволяет быстрее доставлять новые функции пользователям.
2. **Снижение рисков:** Раннее обнаружение ошибок и автоматическое тестирование уменьшают вероятность сбоев.
3. **Улучшение качества кода:** Постоянное тестирование и интеграция поддерживают стабильность продукта.
4. **Упрощение collaboration:** Разработчики могут работать параллельно, не боясь конфликтов.
## Популярные инструменты CI/CD:
**Jenkins:** Один из самых популярных инструментов с открытым исходным кодом.
**GitLab CI/CD:** Встроенная система CI/CD в GitLab.
**GitHub Actions:** Интеграция CI/CD прямо в GitHub.
**CircleCI:** Облачная платформа для CI/CD.
**Travis CI:** Еще одна облачная платформа, популярная для open-source проектов.
**Azure DevOps:** Комплексное решение от Microsoft.
## Пример CI/CD pipeline:
1. Разработчик делает изменения в коде и отправляет их в Git.
2. CI-система запускает сборку и тесты.
3. Если тесты проходят успешно, код автоматически развертывается на staging-сервере.
4. После ручного или автоматического подтверждения код развертывается в production.
**CI/CD** — это ключевая часть современной DevOps-культуры, которая помогает командам быть более эффективными и гибкими.