CI / CD
Refs
- What Is CI/CD?
- В статье рассматривается концепция Continuous Integration and Continuous Deployment (CI/CD) и объясняется, что такое CI/CD и какие преимущества оно предоставляет в процессе разработки программного обеспечения. Автор описывает, что CI/CD объединяет практики Continuous Integration (непрерывной интеграции) и Continuous Deployment (непрерывного развертывания), позволяя автоматизировать и упростить процессы сборки, тестирования и развертывания приложений. Статья также освещает ключевые принципы CI/CD, такие как автоматизация, версионирование, непрерывное тестирование и развертывание, а также предлагает рекомендации и советы для успешной реализации CI/CD в разработческой команде. В целом, статья предоставляет обзор и обоснование важности CI/CD в современной разработке программного обеспечения. [2017]
- PendingHead
- Статья объясняет концепцию "Pending Head" в контексте систем контроля версий (VCS). Автор описывает, что "Pending Head" - это временный коммит, который позволяет разработчикам работать с изменениями, не внося их непосредственно в основную ветку кода. Статья обсуждает преимущества использования "Pending Head" и предоставляет рекомендации по его правильному использованию в разработке программного обеспечения. [2007]
- SelfTestingCode
- Статья объясняет, почему и как разработчики должны создавать код, способный проводить самопроверку, для повышения надежности и устойчивости программного обеспечения. [2014]
- TechnicalDebt
- Статья обсуждает понятие технического долга в разработке программного обеспечения и объясняет, как его правильное управление и минимизация могут способствовать улучшению качества и эффективности проектов.
Continuous Integration
- Continuous Integration
- Continuous Integration (непрерывная интеграция) - это практика разработки программного обеспечения, которая заключается в частом и автоматизированном слиянии и тестировании изменений в кодовой базе разработчиков для обеспечения раннего обнаружения и решения проблем интеграции.
- Статья на сайте Мартина Фаулера "Continuous Integration" подробно объясняет принципы и преимущества Continuous Integration, а также рассматривает практические аспекты его реализации, включая инструменты, процессы и лучшие практики, необходимые для успешной реализации CI в разработческой команде. [2006]
Введение в Continuous Integration
Инструменты
В статье Top 8 Continuous Integration Tools [2023] представлен следующий краткий перечень решений для Continuous Integration:
- Jenkins
- Мощный и гибкий инструмент с большим набором плагинов и расширенными возможностями настройки.
- Travis CI
- Облачная CI-платформа, специализирующаяся на проектах с открытым исходным кодом.
- CircleCI
- Облачная CI-платформа с простым конфигурированием и поддержкой множества языков и фреймворков.
- GitLab CI/CD
- Интегрированный инструмент CI/CD, предоставляющий широкий функционал для автоматизации процессов.
- TeamCity
- Мощная система CI/CD с широким спектром функций и инструментов для сборки и развертывания.
- Bamboo
- Инструмент CI/CD от Atlassian, интегрирующийся с другими продуктами Atlassian для непрерывного развертывания.
- Azure Pipelines
- Облачная CI/CD-платформа от Microsoft Azure с гибкими возможностями и интеграцией с другими сервисами Azure.
- GoCD
- Инструмент с открытым исходным кодом, специализирующийся на создании и управлении непрерывными процессами доставки.
Continuous Delivery
- Continuous Deployment means that every change goes through the pipeline and automatically gets put into production, resulting in many production deployments every day. Continuous Delivery just means that you are able to do frequent deployments but may choose not to do it, usually due to businesses preferring a slower rate of deployment. In order to do Continuous Deployment you must be doing Continuous Delivery.