GitHub Actions сегодня используют все - от пет-проектов до продакшн пайплайнов. Но даже у опытных инженеров часто встречаются ошибки при работе с секретами.
❌ Типичные ошибки:
- Хранение токенов в коде или
.env файлах, которые случайно попадают в репозиторий.- Вывод секретов в логи (например, через
echo). GitHub заменяет их на ***, но иногда этого недостаточно.- Использование одного общего токена для разных окружений (dev, staging, prod).
✅ Лучшие практики:
1. Secrets vs. Environments
Используй Environments с разными наборами секретов для разных стадий. Например:
STAGING_DB_PASS и PROD_DB_PASS.2. OIDC вместо токенов
GitHub поддерживает OIDC Federation. Это значит, что пайплайн может получать временные креды от AWS, GCP или Azure без хранения ключей.
3. Проверяй разрешения по умолчанию
В
permissions: указывай минимально необходимые. Например:
permissions:
contents: read
id-token: write
4. Secrets scanning
Включи
secret scanning и push protection, чтобы случайно не залить ключи.💡 Маленький трюк:
Если нужно временно отладить пайплайн с секретом - лучше использовать
::add-mask:: в логах, чем echo.Подпишись 👉@devopslib