aws-deployment
aws-deployment — практический скилл для проектирования и настройки CI/CD на сервисах AWS. Его область — CodePipeline, CodeBuild, CodeDeploy, CodeConnections и CodeArtifact. Материал подходит, когда нужно провести исходный код из GitHub, GitLab или Bitbucket через сборку и тесты, упаковать артефакты, настроить доставку и управлять переходом к новой версии. В описании скилла рассматриваются CodePipeline V2, триггеры, переменные, режимы выполнения и сценарии между аккаунтами; buildspec.yml, кэширование, VPC и Docker в CodeBuild; стратегии CodeDeploy blue/green, canary и linear; приватные пакетные реестры CodeArtifact; а также подключения к внешним системам через CodeConnections. Логика связки разделена по ролям. CodeConnections отвечает за аутентификацию к провайдеру исходников и передачу кода. CodeBuild компилирует проект, запускает проверки и собирает артефакты. CodeDeploy доставляет их на EC2, ECS или Lambda и может управлять смещением трафика. CodePipeline соединяет стадии, переходы и approval gates, а CodeArtifact служит приватным реестром пакетов и кэшем зависимостей из публичных реестров. Для типового последовательного процесса используется V2 pipeline с режимом QUEUED; PARALLEL уместен только тогда, когда запуски действительно независимы. Скилл помогает разобрать конкретные рабочие ситуации: pipeline от GitHub до ECS через CodeBuild и blue/green CodeDeploy; зависание source stage из-за статуса PENDING; таймаут сборки из-за VPC без NAT, неверного timeoutInMinutes или отсутствующего Docker privileged mode; cross-account deployment с KMS, S3 policy и доверительной IAM-ролью; автоматический rollback при alarm или failure; canary-доставку Lambda. Отдельно описаны типовые причины YAML_FILE_ERROR, ошибки перезаписи файлов в CodeDeploy, неработающие path filters, неверный revision в PARALLEL и проблемы CodeConnections IAM. Подключение AWS MCP может помочь выполнять команды и валидировать конфигурацию напрямую, но материал также рассчитан на обычный AWS CLI. Ограничения важны до первого запуска. Connection, созданный через CLI или CloudFormation, может навсегда остаться PENDING, пока OAuth не завершён в AWS Console; API-only пути для этого нет. Межаккаунтная доставка требует одновременно политики KMS для целевого аккаунта, bucket policy S3 и cross-account IAM role с trust policy. ApplicationStop в CodeDeploy использует предыдущую ревизию, поэтому stop-скрипты должны быть идемпотентными и успешно завершаться, если сервис отсутствует. CodeBuild в приватных подсетях без NAT gateway или VPC endpoints способен молча зависнуть на DOWNLOAD_SOURCE. Для UseConnection нужны ограничения по FullRepositoryId, ProviderAction и BranchName, иначе одно разрешение охватывает все доступные репозитории. Безопасность не является опциональной частью настройки. Секреты следует хранить в Secrets Manager или Parameter Store и передавать в CodeBuild как SECRETS_MANAGER, а не помещать в buildspec в виде PLAINTEXT. Для cross-account шифрования артефактов нужен customer-managed KMS key. Роли CodeBuild и CodeDeploy следует ограничивать конкретными ARN и не выдавать широкие права вроде * для s3:GetObject или kms:Decrypt. Для подключений к исходникам рекомендуется CodeConnections, а не личные access tokens. Скилл не покрывает CDK Pipelines, sam deploy, конфигурацию ECS-сервисов и GitHub Actions или GitLab CI; для них нужны отдельные специализированные инструменты.
Для чего подходит
- Проектирование AWS CI/CD pipeline
- Диагностика CodeBuild и CodeDeploy
- Настройка GitHub или GitLab source connection
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-core/skills/aws-deployment