← Cloudflare Workers / workers / ci-cd / external-cicd
GitLab CI/CD
Workers можно развёртывать с помощью GitLab CI/CD ↗. Вот как можно настроить конвейер Gitlab CI/CD.
1. Аутентификация
При локальном запуске Wrangler аутентификация в API Cloudflare выполняется через wrangler login команду, которая запускает интерактивный процесс аутентификации. Поскольку среды CI/CD неинтерактивны, Wrangler требует API-токен Cloudflare и ID аккаунта чтобы пройти аутентификацию в Cloudflare API.
Cloudflare account ID
Чтобы найти свой Cloudflare Account ID, см. Найдите ID аккаунта и зоны.
API-токен
Чтобы создать API-токен для аутентификации Wrangler в задании CI:
-
На панели управления Cloudflare перейдите к разделу Токены API аккаунта страницу.
Перейдите в Токены API аккаунта ↗ -
Выберите Create Token.
-
В разделе Политики разрешений, откройте Custom раскрывающемся списке и выберите Edit Cloudflare Workers.
-
Настроить имя токена.
-
Ограничьте область действия токена.
Вам нужно будет выбрать ресурсы аккаунта и зоны, к которым получит доступ созданный API токен. Рекомендуем ограничивать эти ресурсы максимально узко, чтобы снизить доступ токена. Например, если у вас есть доступ к трём разным аккаунтам Cloudflare, стоит ограничить созданный API токен только тем аккаунтом, в котором вы будете разворачивать Worker.
2. Настройка CI
Способ запуска Wrangler в среде CI/CD зависит от конкретной настройки вашего проекта (используете ли вы GitHub Actions, Jenkins, GitLab или что-то совершенно иное).
Чтобы настроить CI:
- Перейдите на платформу CI и добавьте указанное ниже в качестве секретов:
CLOUDFLARE_ACCOUNT_ID: Устанавливается в Cloudflare account ID для аккаунта, в котором вы хотите развернуть свой Worker.CLOUDFLARE_API_TOKEN: Устанавливается в созданный вами API-токен Cloudflare.
- Создайте workflow, который будет отвечать за развёртывание Worker. Этот workflow должен запускаться
wrangler deploy. Ознакомьтесь с примером GitHub Actions ↗ процесс описан в следующем разделе.
GitLab Pipelines
См. Блог GitLab ↗ пример пайплайна. В разделе script ключ, замените npm run deploy с npx wrangler deploy.