Spec-Zone.ru › AWS CLI v2

[ aws . deploy ]

create-deployment

Описание

Развертывает версию приложения через указанную группу развертывания.

См. также: Документацию AWS API

Синтаксис

  create-deployment
--application-name <value>
[--deployment-group-name <value>]
[--revision <value>]
[--deployment-config-name <value>]
[--description <value>]
[--ignore-application-stop-failures | --no-ignore-application-stop-failures]
[--target-instances <value>]
[--auto-rollback-configuration <value>]
[--update-outdated-instances-only | --no-update-outdated-instances-only]
[--file-exists-behavior <value>]
[--override-alarm-configuration <value>]
[--s3-location <value>]
[--github-location <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--application-name (строка)

Имя приложения CodeDeploy, связанного с пользователем или учётной записью Amazon Web Services.

--deployment-group-name (строка)

Имя группы развертывания.

--revision (структура)

Тип и расположение разрабатываемой версии.

revisionType -> (строка)

Тип версии приложения:

  • S3: Версия приложения, хранящаяся в Amazon S3.
  • GitHub: Версия приложения, хранящаяся в GitHub (только для развертывания на EC2/локальных серверах).
  • Строка: YAML- или JSON-строка (только для развертывания Lambda).
  • AppSpecContent: Объект AppSpecContent, содержащий содержимое файла AppSpec для развертывания Lambda или Amazon ECS. Содержимое представлено в формате JSON или YAML, хранящемся как RawString.

s3Location -> (структура)

Информация о расположении версии, хранящейся в Amazon S3.

bucket -> (строка)

Имя Amazon S3-хранилища, в котором хранится версия приложения.

key -> (строка)

Имя объекта Amazon S3, представляющего скомпонованные артефакты для версии приложения.

bundleType -> (строка)

Тип файла версии приложения. Должен быть одним из следующих:

  • tar : Файл архива tar.
  • tgz : Сжатый файл архива tar.
  • zip : Файл архива zip.
  • YAML : Файл в формате YAML.
  • JSON : Файл в формате JSON.

version -> (строка)

Конкретная версия объекта Amazon S3, представляющего скомпонованные артефакты для версии приложения.

Если версия не указана, система по умолчанию использует последнюю версию.

eTag -> (строка)

ETag объекта Amazon S3, представляющего скомпонованные артефакты для версии приложения.

Если ETag не указан в качестве входного параметра, проверка ETag объекта пропускается.

gitHubLocation -> (структура)

Информация о расположении артефактов приложения, хранящихся в GitHub.

repository -> (строка)

Пара GitHub аккаунта и репозитория, хранящего ссылку на коммит, представляющий скомпонованные артефакты для версии приложения.

Указывается как account/repository.

commitId -> (строка)

SHA1 идентификатор коммита GitHub, представляющий скомпонованные артефакты для версии приложения.

string -> (структура)

Информация о расположении версии развертывания Lambda, хранящейся как RawString.

content -> (строка)

YAML- или JSON-строка версии. Она включает информацию о том, какую функцию Lambda обновить и дополнительные функции Lambda, которые проверяют жизненный цикл развертывания.

sha256 -> (строка)

Значение хеша SHA256 содержимого версии.

appSpecContent -> (структура)

Содержимое файла AppSpec для развертывания Lambda или Amazon ECS. Содержимое представлено в формате JSON или YAML и хранится как RawString.

content -> (строка)

YAML- или JSON-строка версии.

Для развертывания Lambda содержимое включает имя функции Lambda, алиас для исходной версии и алиас для заменяющей версии. Развертывание переключает трафик с исходной версии функции Lambda на заменяющую версию.

Для развертывания Amazon ECS содержимое включает имя задачи, информацию о балансировщике нагрузки, который предоставляет трафик контейнеру, и многое другое.

Для обоих типов развертывания содержимое может указывать функции Lambda, которые выполняются в определённых крючках, таких как BeforeInstall, во время развертывания.

sha256 -> (строка)

Значение хеша SHA256 содержимого версии.

Сокращенный синтаксис:

revisionType=string,s3Location={bucket=string,key=string,bundleType=string,version=string,eTag=string},gitHubLocation={repository=string,commitId=string},string={content=string,sha256=string},appSpecContent={content=string,sha256=string}

Синтаксис JSON:

{
  "revisionType": "S3"|"GitHub"|"String"|"AppSpecContent",
  "s3Location": {
    "bucket": "string",
    "key": "string",
    "bundleType": "tar"|"tgz"|"zip"|"YAML"|"JSON",
    "version": "string",
    "eTag": "string"
  },
  "gitHubLocation": {
    "repository": "string",
    "commitId": "string"
  },
  "string": {
    "content": "string",
    "sha256": "string"
  },
  "appSpecContent": {
    "content": "string",
    "sha256": "string"
  }
}

--deployment-config-name (строка)

Имя конфигурации развертывания, связанной с пользователем или учётной записью Amazon Web Services.

Если не указано, используется значение, настроенное в группе развертывания, по умолчанию. Если группа развертывания не имеет связанной с ней конфигурации развертывания, используется CodeDeployDefault. ``OneAtATime`` используется по умолчанию.

--description (строка)

Комментарий к развертыванию.

--ignore-application-stop-failures | --no-ignore-application-stop-failures (булево)

Если значение истинно, то при неудачном выполнении события жизненного цикла развертывания ApplicationStop, BeforeBlockTraffic или AfterBlockTraffic на экземпляре, развертывание продолжается к следующему событию жизненного цикла развертывания. Например, если ApplicationStop завершится неудачей, развертывание продолжится с DownloadBundle. Если BeforeBlockTraffic завершится неудачей, развертывание продолжится с BlockTraffic. Если AfterBlockTraffic завершится неудачей, развертывание продолжится с ApplicationStop.

Если значение ложно или не указано, то при неудаче события жизненного цикла во время развертывания на экземпляре, развертывание завершается неудачей. Если развертывание на экземпляре является частью общего развертывания, и количество работоспособных хостов не меньше минимального количества работоспособных хостов, то пытается развернуть на следующем экземпляре.

Во время развертывания агент CodeDeploy выполняет скрипты, указанные для ApplicationStop, BeforeBlockTraffic и AfterBlockTraffic в файле AppSpec из предыдущего успешного развертывания. (Все остальные скрипты выполняются из файла AppSpec в текущем развертывании). Если один из этих скриптов содержит ошибку и не выполняется успешно, развертывание может завершиться неудачей.

Если причиной ошибки является скрипт из последнего успешного развертывания, который никогда не выполнится успешно, создайте новое развертывание и используйте ignoreApplicationStopFailures для указания, что неудачи ApplicationStop, BeforeBlockTraffic и AfterBlockTraffic должны игнорироваться.

--target-instances (структура)

Информация об экземплярах, которые принадлежат среде замены в развертывании синего/зелёного цвета.

tagFilters -> (список)

Ключ, тип и значение фильтра тегов, используемые для идентификации экземпляров Amazon EC2 в среде замены для развертывания синего/зелёного цвета. Нельзя использовать в одном вызове с ec2TagSet.

(структура)

Информация о фильтре тегов EC2.

Key -> (строка)

Ключ фильтра тегов.

Value -> (строка)

Значение фильтра тегов.

Type -> (строка)

Тип фильтра тегов:

  • KEY_ONLY : Только ключ.
  • VALUE_ONLY : Только значение.
  • KEY_AND_VALUE : Ключ и значение.

autoScalingGroups -> (список)

Названия одного или нескольких групп Auto Scaling для идентификации среды замены для развертывания синего/зелёного цвета.

(строка)

ec2TagSet -> (структура)

Информация о группах тегов экземпляров Amazon EC2, по которым должен быть идентифицирован экземпляр, чтобы быть включённым в среду замены для развертывания синего/зелёного цвета. Нельзя использовать в одном вызове с tagFilters.

ec2TagSetList -> (список)

Список, содержащий другие списки групп тегов экземпляров Amazon EC2. Для включения экземпляра в группу развертывания он должен быть идентифицирован всеми группами тегов в списке.

(список)

(структура)

Информация о фильтре тегов EC2.

Key -> (строка)

Ключ фильтра тегов.

Value -> (строка)

Значение фильтра тегов.

Type -> (строка)

Тип фильтра тегов:

  • KEY_ONLY : Только ключ.
  • VALUE_ONLY : Только значение.
  • KEY_AND_VALUE : Ключ и значение.

Синтаксис JSON:

{
  "tagFilters": [
    {
      "Key": "string",
      "Value": "string",
      "Type": "KEY_ONLY"|"VALUE_ONLY"|"KEY_AND_VALUE"
    }
    ...
  ],
  "autoScalingGroups": ["string", ...],
  "ec2TagSet": {
    "ec2TagSetList": [
      [
        {
          "Key": "string",
          "Value": "string",
          "Type": "KEY_ONLY"|"VALUE_ONLY"|"KEY_AND_VALUE"
        }
        ...
      ]
      ...
    ]
  }
}

--auto-rollback-configuration (структура)

Информация о конфигурации автоматического отката, добавляемая при создании развертывания.

enabled -> (булево)

Указывает, включена ли определённая конфигурация автоматического отката.

events -> (список)

Тип или типы событий, которые запускают откат.

(строка)

Сокращенный синтаксис:

enabled=boolean,events=string,string

Синтаксис JSON:

{
  "enabled": true|false,
  "events": ["DEPLOYMENT_FAILURE"|"DEPLOYMENT_STOP_ON_ALARM"|"DEPLOYMENT_STOP_ON_REQUEST", ...]
}

--update-outdated-instances-only | --no-update-outdated-instances-only (булево)

Указывает, развертывать на всех экземплярах или только на тех, которые не выполняют последнюю версию приложения.

--file-exists-behavior (строка)

Информация о том, как CodeDeploy обрабатывает файлы, которые уже существуют в целевом месте развертывания, но не были частью предыдущего успешного развертывания.

Параметр fileExistsBehavior принимает следующие значения:

  • DISALLOW: Развертывание завершается неудачей. Это также поведение по умолчанию, если не указан другой параметр.
  • OVERWRITE: Версия файла из разрабатываемой версии приложения заменяет версию, уже находящуюся на экземпляре.
  • RETAIN: Версия файла, уже находящаяся на экземпляре, сохраняется и используется в рамках нового развертывания.

Возможные значения:

  • DISALLOW
  • OVERWRITE
  • RETAIN

--override-alarm-configuration (структура)

Позволяет указать информацию об оповещениях, связанных с развертыванием. Настройка оповещений, указанная здесь, перекроет настройку оповещений на уровне группы развертываний. Рассмотрите возможность переопределения конфигурации оповещений, если вы настроили оповещения на уровне группы развертываний, которые вызывают сбои развертывания. В этом случае вы должны вызвать CreateDeployment, чтобы создать новое развертывание, использующее предыдущую рабочую ревизию приложения, и установить для него конфигурацию оповещений, чтобы отключить проверку оповещений. Отключение проверки оповещений гарантирует, что новое развертывание будет выполнено без блокировки оповещением, сгенерированным предыдущим, неудачным, развертыванием.

Примечание

Если вы указываете overrideAlarmConfiguration, вам необходимо разрешение IAM UpdateDeploymentGroup при вызове CreateDeployment.

enabled -> (boolean)

Указывает, включена ли настройка оповещений.

ignorePollAlarmFailure -> (boolean)

Указывает, должно ли развертывание продолжаться, если информация о текущем состоянии оповещений не может быть получена из Amazon CloudWatch. Значение по умолчанию — false.

  • true: Развертывание продолжается, даже если информация о состоянии оповещений не может быть получена из Amazon CloudWatch.
  • false: Развертывание останавливается, если информация о состоянии оповещений не может быть получена из Amazon CloudWatch.

alarms -> (list)

Список оповещений, настроенных для развертывания или группы развертываний. Максимальное количество оповещений — 10.

(structure)

Информация об оповещении.

name -> (string)

Имя оповещения. Максимальная длина — 255 символов. Каждое имя оповещения может быть использовано только один раз в списке оповещений.

Сокращенная синтаксическая запись:

enabled=boolean,ignorePollAlarmFailure=boolean,alarms=[{name=string},{name=string}]

Синтаксис JSON:

{
  "enabled": true|false,
  "ignorePollAlarmFailure": true|false,
  "alarms": [
    {
      "name": "string"
    }
    ...
  ]
}

--s3-location (структура) Информация о расположении ревизии приложения в Amazon S3. Вы должны указать ведро, ключ и тип пакета. Дополнительно вы также можете указать eTag и версию.bucket -> (string)

Имя ведра Amazon S3.

key -> (string)

Имя ключа объекта Amazon S3.

bundleType -> (string)

Формат пакета, хранящегося в Amazon S3.

eTag -> (string)

eTag объекта Amazon S3.

version -> (string)

Версия объекта Amazon S3.

Сокращенная синтаксическая запись:

bucket=string,key=string,bundleType=string,eTag=string,version=string

Синтаксис JSON:

{
  "bucket": "string",
  "key": "string",
  "bundleType": "tar"|"tgz"|"zip",
  "eTag": "string",
  "version": "string"
}

--github-location (структура) Информация о местоположении ревизии приложения в GitHub. Вы должны указать репозиторий и идентификатор коммита, которые ссылаются на ревизию приложения. Для репозитория используйте формат GitHub-account/repository-name или GitHub-org/repository-name. Для идентификатора коммита используйте SHA1 Git коммит ссылку.repository -> (string)

GitHub учетная запись или организация и репозиторий. Укажите как GitHub-account/repository или GitHub-org/repository.

commitId -> (string)

Ссылка на SHA1 Git коммит.

Сокращенная синтаксическая запись:

repository=string,commitId=string

Синтаксис JSON:

{
  "repository": "string",
  "commitId": "string"
}

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного JSON, поскольку строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. При отсутствии значения или значении input выводит пример JSON ввода, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, при предоставлении значения yaml-input выведет пример ввода YAML, который можно использовать с --cli-input-yaml. При предоставлении значения output, он проверит входные данные команды и вернет пример выходного JSON для данной команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (boolean)

Включить отладочную запись журнала.

--endpoint-url (строка)

Переопределить значение URL по умолчанию команды указанным URL.

--no-verify-ssl (boolean)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение по умолчанию проверки SSL-сертификатов.

--no-paginate (boolean)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI будет выполнять только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования для вывода команд.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

Запрос JMESPath для использования при фильтрации данных ответа.

--profile (строка)

Использовать определенный профиль из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (строка)

Файл сертификатов CA для использования при проверке SSL-сертификатов. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной в base64 строки. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, который отображается на двоичный блок, fileb:// всегда будет обрабатываться как двоичный и использовать содержимое файла напрямую независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Отключить паджинг CLI для вывода.

--cli-auto-prompt (boolean)

Автоматически запросить параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматическое запросы параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров вам необходимо установить и настроить AWS CLI. См. руководство по началу работы в Руководстве пользователя AWS CLI для получения дополнительной информации.

Если не указано иное, все примеры используют правила цитирования unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной системы. См. использование кавычек со строками в Руководстве пользователя AWS CLI.

Пример 1: Создание развертывания CodeDeploy с использованием платформы вычислений EC2/локальной сети

Следующий create-deployment пример создаёт развертывание и связывает его с учётной записью пользователя AWS.

aws deploy create-deployment \
    --application-name WordPress_App \
    --deployment-config-name CodeDeployDefault.OneAtATime \
    --deployment-group-name WordPress_DG \
    --description "My demo deployment" \
    --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip

Вывод:

{
    "deploymentId": "d-A1B2C3111"
}

Пример 2: Создание развертывания CodeDeploy с использованием платформы Amazon ECS

Следующий create-deployment пример использует два файла для развертывания сервиса Amazon ECS.

Содержание файла create-deployment.json:

{
    "applicationName": "ecs-deployment",
    "deploymentGroupName": "ecs-deployment-dg",
    "revision": {
        "revisionType": "S3",
        "s3Location": {
            "bucket": "ecs-deployment-bucket",
            "key": "appspec.yaml",
            "bundleType": "YAML"
        }
    }
}

Этот файл, в свою очередь, получает следующий файл appspec.yaml из ведра S3 с именем ecs-deployment-bucket.

version: 0.0
Resources:
  - TargetService:
      Type: AWS::ECS::Service
      Properties:
        TaskDefinition: "arn:aws:ecs:region:123456789012:task-definition/ecs-task-def:2"
        LoadBalancerInfo:
          ContainerName: "sample-app"
          ContainerPort: 80
        PlatformVersion: "LATEST"

Команда:

aws deploy create-deployment \
    --cli-input-json file://create-deployment.json \
    --region us-east-1

Вывод:

{
    "deploymentId": "d-1234ABCDE"
}

Для получения дополнительной информации см. CreateDeployment в Справочнике по API AWS CodeDeploy.

Вывод

deploymentId -> (string)

Уникальный идентификатор развертывания.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API