Документация

События развертывания и настройка системы непрерывной интеграции

Подключите GitHub Actions, GitLab CI/CD или другую систему непрерывной интеграции к истории развертывания релизов.

Coroid отмечает релиз как развернутый только тогда, когда так указывает ваш CI/CD. На этой странице показано, как конвейер сообщает о развертываниях — независимо от того, запускает ли их Coroid или они выполняются автономно.

Coroid

Ваш CI/CD

Окружение

  1. 1.Запустить для точного коммита
  2. 2.Деплой зафиксированный коммит
  3. 3.Отчет выполняется, затем успешно или с ошибкой
  4. 4.Отслеживание состояния с проверкой канарийного режима
Деплой считается завершённым только после того, как ваш конвейер сообщит об успехе. Шаг 1 пропускается, если конвейер запускается самостоятельно.

Все параметры ниже настраиваются для каждой среды в разделе проекта «Настройки» Настройки → Релизы → Конвейер развертывания. Там создайте токен для отчетности. Владелец или администратор увидят его один раз. Сохраните его как секрет в конвейере CI соответствующей среды. Coroid хранит лишь хеш, а замена токена немедленно аннулирует старый. Токен может формировать отчеты только для своего проекта и среды. Никогда не помещайте его в файл репозитория или запрос браузера.

GitHub Actions и GitLab CI/CD

Если вам нужно Развернуть в… кнопку на странице релиза, выберите Coroid запускает рабочий процесс GitHub Actions или Coroid запускает конвейер GitLab CI/CD в настройках конвейера развертывания соответствующей среды. Укажите точное имя задания развертывания, ссылку на ветку или тег, а при необходимости — имя файла рабочего процесса GitHub. Эта ссылка должна указывать на коммит релиза в момент запроса. Рабочий процесс GitHub получает coroid_release_id, coroid_attempt_id, coroid_commit_sha, и coroid_environment входные данные. GitLab получает эквивалентные переменные в верхнем регистре COROID_* . Используйте эти значения для развертывания и фиксации точного хэша и номера попытки.

Сохраните токен обратной связи среды в секретах GitHub Actions или в зашифрованных переменных GitLab CI/CD. Отправьте running событие при начале выполнения задания развертывания и терминальное succeeded, failed, или cancelled событие по завершении. Coroid проверяет запуск провайдера, коммит и указанное задание перед тем, как признать успешным выполнение настроенного конвейера. URL запуска провайдера остается местом для просмотра логов. Производственный рабочий процесс Coroid содержит конкретный пример использования GitHub Actions; адаптируйте в нем имена секретов и заданий под свой репозиторий.

Универсальная обратная связь CI

Внешний конвейер может отправлять те же события без включения функции диспетчеризации. Аутентифицируйтесь с помощью ограниченного токена доступа среды. Эндпоинт принимает запросы JSON в следующем версионированном формате:

POST /api/v1/release-deployment-events
Authorization: Bearer <environment-callback-token>
Content-Type: application/json
{
  "schemaVersion": 1,
  "eventId": "ci:run-812:production:succeeded",
  "providerRunId": "run-812",
  "projectId": "<project-uuid>",
  "environmentKey": "production",
  "repository": "owner/repository",
  "commitSha": "0123456789abcdef0123456789abcdef01234567",
  "status": "succeeded",
  "occurredAt": "2026-09-24T12:00:00Z",
  "runUrl": "https://ci.example.com/runs/812"
}

Включите releaseId и attemptId при отчетности о запуске, инициированном Coroid. failureReason может объяснить причину сбоя запуска. Используйте queued, running, succeeded, failed, или cancelled для status. Сохраняйте один providerRunId на протяжении всего запуска и присваивайте каждому переходу между состояниями уникальный eventId. Повторная попытка того же события должна сохранять его идентификатор; для нового запуска CI требуется новый идентификатор запуска. Метка времени события должна быть актуальной. Coroid проверяет репозиторий, среду, коммит, область действия учетных данных и терминальное состояние перед применением данных; противоречивые события направляются на рассмотрение. Допустимое развертывание без подготовленного релиза может создать зафиксированный релиз, четко отличимый от кандидата, одобренного на этапе предварительной проверки.

Для конвейера без обратной связи Владелец или администратор могут выбрать Записать внешнее развертывание на странице релиза. Укажите среду, соответствующий коммит, время, причину и URL с доказательствами. В результате создается ручное подтверждение, фиксирующее итог без утверждения, что Coroid выполнил CI или прошел контроль.