Продължете към съдържанието
Начало » Блог » Какво представляват Nightly builds

Какво представляват Nightly builds

Какво представляват Nightly builds?

Nightly build (букв. „нощна компилация“) е автоматично създаване на нова версия на софтуерен проект, което се изпълнява ежедневно през нощта. Обикновено това се прави чрез CI/CD система (напр. Jenkins, GitHub Actions, GitLab CI), която компилира, тества и генерира версия от най-новия код в хранилището.


Цел на Nightly builds:

Цел Обяснение
Ранно откриване на грешки Установяват се проблеми в новия код преди официални версии
Непрекъсната интеграция Системата винаги разполага с най-актуалната работеща версия
Тестване на съвместимост Проверка дали новите промени не чупят други модули
Достъпна версия за QA / тестери Тестовият екип може да работи с последния код, без да чака официален release

Как работи:

  1. През нощта (или по график) CI/CD системата:
    • Обновява репозиторито (pull от main/dev)
    • Стартира компилация
    • Изпълнява unit/integration тестове
    • Генерира .jar, .war, .zip, Docker image и др.
    • (По желание) качва артефактите на сървър или cloud
  2. Обикновено се отбелязват с дата или build ID:
    Пример: myapp-nightly-2025-06-26.jar

Къде се използват?

Контекст Пример
Open-source проекти Предоставят nightly builds за тестване на нови функции (напр. Firefox, VSCode)
QA и тест екипи Работят със свеж build за проверка на нови bugfix-и
DevOps / Continuous Integration Проверяват стабилност на master/main клона ежедневно

Важно:

  • Nightly build не е официална версия!
  • Може да съдържа нестабилен или експериментален код
  • Използва се предимно вътрешно или от ентусиазирани тестери

Пример от реалния свят:

# GitHub Actions: Nightly build pipeline
name: Nightly Build

on:
schedule:
- cron: '0 2 * * *' # всяка нощ в 2:00

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: ./gradlew build
- run: ./gradlew test