Версия: 1.0 Дата: 10 ноября 2025
Интеграция Accellens с GitLab CI/CD позволяет запускать web сканы как часть CI pipelines. Поддерживает MR-комментарии, статусные проверки и загрузку отчётов.
Скопируйте template в ваш проект:
mkdir -p .gitlab-ci
cp .gitlab-ci/accellens-scan.yml .gitlab-ci/Добавьте в .gitlab-ci.yml:
include:
- local: '.gitlab-ci/accellens-scan.yml'
stages:
- test
variables:
ACCELLENS_PROJECT: 'my-project'
ACCELLENS_API_URL: 'https://api.accellens.dev'
ACCELLENS_OUTPUT_FORMAT: 'json'
ACCELLENS_FAIL_ON: 'high'
accellens_scan:
extends: .accellens_scan_template
variables:
ACCELLENS_URL: 'https://example.com'
# Или используйте файл с URL:
# ACCELLENS_URLS_FILE: "urls.txt"В GitLab перейдите в Settings → CI/CD → Variables и добавьте:
ACCELLENS_TOKEN— API токен (masked, protected)ACCELLENS_PROJECT— slug проекта (опционально, можно указать в.gitlab-ci.yml)GITLAB_TOKEN— для публикации комментариев в MR (опционально)
| Параметр | Обязателен | Значение по умолчанию | Описание |
|---|---|---|---|
ACCELLENS_PROJECT |
✅ | - | Slug проекта в платформе |
ACCELLENS_TOKEN |
✅ | - | API токен (GitLab CI/CD variable) |
ACCELLENS_URL |
✅* | - | Одиночный URL для сканирования (*обязателен, если не указан ACCELLENS_URLS_FILE) |
ACCELLENS_URLS_FILE |
✅* | urls.txt |
Путь к файлу со списком URL (*обязателен, если не указан ACCELLENS_URL) |
ACCELLENS_API_URL |
❌ | https://api.accellens.dev |
Базовый URL API Accellens |
ACCELLENS_FAIL_ON |
❌ | none |
Уровень, при котором job завершается с ошибкой (critical, high, medium, low, none) |
ACCELLENS_OUTPUT_FORMAT |
❌ | json |
json, pdf, sarif |
ACCELLENS_ALLOW_FAILURE |
❌ | false |
Разрешить job завершаться с ошибкой без остановки pipeline |
- Артефакт отчёта (
accellens-report.json/pdf) — автоматически загружается как артефакт. - MR комментарий — автоматически публикуется в Merge Request с summary findings (если настроен
GITLAB_TOKEN). - Pipeline status — job завершается с ошибкой, если найдены findings выше уровня
ACCELLENS_FAIL_ON.
ACCELLENS_TOKENхранится в GitLab CI/CD Variables (Settings → CI/CD → Variables).- Токен имеет scope
scan:writeиreport:readдля конкретного проекта. - Рекомендуется использовать masked и protected переменные.
- Optionally, используйте GitLab OIDC для short-lived токенов (roadmap).
Template уже включает:
- Автоматическую установку CLI
- Ожидание завершения сканирования
- Получение отчёта
- Публикацию комментариев в MR (если настроен
GITLAB_TOKEN) - Fail-on-severity логику
Просто используйте extends: .accellens_scan_template:
include:
- local: '.gitlab-ci/accellens-scan.yml'
accellens_scan:
extends: .accellens_scan_template
variables:
ACCELLENS_URL: 'https://example.com'accellens_scan_staging:
extends: .accellens_scan_template
variables:
ACCELLENS_URL: 'https://staging.example.com'
only:
- develop
accellens_scan_production:
extends: .accellens_scan_template
variables:
ACCELLENS_URL: 'https://example.com'
only:
- main
- master- Максимум 20 URL за запуск (MVP).
- Скан занимает до 10 минут; увеличивайте
ACCELLENS_WAIT_TIMEOUTпри необходимости. - Mobile сканы не поддерживаются (будет отдельный job v1+).
| Симптом | Причина | Решение |
|---|---|---|
| Job timeout | Длинные сканы | Увеличить ACCELLENS_WAIT_TIMEOUT, оптимизировать URL список |
| HTTP 401 | Неверный токен | Обновить CI/CD variable, проверить права |
| Job не пишет отчёт | Недостаточно прав | Убедиться в праве write на проект |
- MR annotations с подсветкой строк (v1).
- Mobile scan job (
accellens/mobile-scan). - Slack уведомления (via webhook).
- Интеграция с GitLab Security Dashboard.