AWS CDK разделяет CLI от библиотеки конструкций (независимые релизы и новый репозиторий CLI)

AWSDevOpsCDKИнфраструктура

Основное обновление

AWS разделила Cloud Development Kit на два компонента, которые будут выпускаться независимо: библиотека конструкций CDK (библиотеки, от которых вы зависите в приложениях) и CDK CLI (инструмент, который синтезирует/разворачивает). Исходный код CLI и частота релизов переходят в новый репозиторий на GitHub и будут следовать своей собственной линии версий (первый релиз на новой частоте будет 2.1000.0); библиотека конструкций остается на своей существующей линии 2.x. AWS явно не называет это "CDK v3", чтобы избежать поломок, и они гарантируют, что новый CLI продолжит поддерживать ранее выпущенные версии библиотеки конструкций.

Почему это важно

Это практическое изменение, ориентированное на разработчиков, а не маркетинговая уловка. Многие CI-скрипты, автоматизационные плейбуки и схемы установки предполагают единую версию CDK (установите как aws-cdk-lib, так и aws-cdk под одним токеном версии). С отдельными частотами релизов эти предположения нарушаются: вам нужно будет устанавливать или обновлять CLI и библиотеку конструкций независимо, а также обновлять любую автоматизацию, которая фиксирует единую версию CDK для обоих компонентов. Ожидайте более быструю итерацию CLI и более частые исправления инструментов (хорошо), но также и потенциальные несоответствия между функциями CLI и поведением библиотеки (это нужно проверять в CI).

Что делать сейчас: прекратите предполагать "одну версию CDK" в ваших скриптах и CI-образах; устанавливайте или обновляйте CLI и aws-cdk-lib отдельно и тестируйте шаги синтеза/развертывания, когда вы изменяете любой из них; обновите любые документы для участников или инструменты, которые ссылаются на устаревший рабочий процесс с единственным репозиторием, и, если вы вносите вклад в CLI, используйте новый репозиторий CLI. Для команд, которые фиксируют CDK в воспроизводимых сборках, рассматривайте CLI как отдельную зависимость для фиксации и тестирования — держите CLI на актуальном релизе 2.x, чтобы обеспечить совместимость с новыми релизами библиотеки конструкций.

Источник

Читать дальше