Continuous Integration (CI) — процесс автоматической сборки, тестирования и проверки кода при каждом изменении, что особенно важно для проектов на Angular, где множество модулей и компонентов тесно взаимодействуют.
Выбор CI-инструмента Популярные решения включают GitHub Actions, GitLab CI/CD, CircleCI, Jenkins. Все они поддерживают Node.js, что критично для Angular.
Установка зависимостей CI-скрипт должен
установить необходимые пакеты с помощью npm ci или
yarn install --frozen-lockfile для воспроизводимой
сборки.
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: npm ci
ng build --prod для продакшн-сборки:- name: Build Angular App
run: npm run build -- --prod
Важно включать флаг --prod, чтобы CI проверял релизную
сборку, а не девелоперскую.
ng test --watch=false --browsers=ChromeHeadless. End-to-end
тесты используют ng e2e с Protractor или Cypress.- name: Run Unit Tests
run: npm run test -- --watch=false --browsers=ChromeHeadless
- name: Lint Code
run: npm run lint
После успешной сборки и прохождения тестов можно автоматически деплоить приложение:
firebase deploy --only hostingmain веткуCI позволяет поддерживать стабильность проекта, уменьшает количество ошибок при интеграции новых функций и обеспечивает предсказуемость сборки для всех участников команды.