Spec-Zone.ru › AWS CLI v2

[ aws . codebuild ]

обновить-проект

Описание

Изменяет настройки проекта сборки.

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

Синтаксис

  update-project
--name <value>
[--description <value>]
[--source <value>]
[--secondary-sources <value>]
[--source-version <value>]
[--secondary-source-versions <value>]
[--artifacts <value>]
[--secondary-artifacts <value>]
[--cache <value>]
[--environment <value>]
[--service-role <value>]
[--timeout-in-minutes <value>]
[--queued-timeout-in-minutes <value>]
[--encryption-key <value>]
[--tags <value>]
[--vpc-config <value>]
[--badge-enabled | --no-badge-enabled]
[--logs-config <value>]
[--file-system-locations <value>]
[--build-batch-config <value>]
[--concurrent-build-limit <value>]
[--auto-retry-limit <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]

Параметры

--name (строка)

Имя проекта сборки.

Примечание

Вы не можете изменить имя проекта сборки.

--description (строка)

Новое или замещающее описание проекта сборки.

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

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

тип -> (строка)

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

  • BITBUCKET : Исходный код находится в репозитории Bitbucket.
  • CODECOMMIT : Исходный код находится в репозитории CodeCommit.
  • CODEPIPELINE : Настройки исходного кода указаны в действии источника в конвейере CodePipeline.
  • GITHUB : Исходный код находится в репозитории GitHub.
  • GITHUB_ENTERPRISE : Исходный код находится в репозитории GitHub Enterprise Server.
  • GITLAB : Исходный код находится в репозитории GitLab.
  • GITLAB_SELF_MANAGED : Исходный код находится в самообслуживаемом репозитории GitLab.
  • NO_SOURCE : В проекте нет входного исходного кода.
  • S3 : Исходный код находится в ведре Amazon S3.

местоположение -> (строка)

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

  • Для настроек исходного кода, указанных в действии источника в конвейере CodePipeline, location не следует указывать. Если он указан, CodePipeline его игнорирует. Это связано с тем, что CodePipeline использует настройки действия источника в конвейере вместо этого значения.
  • Для исходного кода в репозитории CodeCommit, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec (например, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name> ).
  • Для исходного кода в входном ведре Amazon S3, одно из следующего.
    • Путь к ZIP-архиву, содержащему исходный код (например, <bucket-name>/<path>/<object-name>.zip ).
    • Путь к папке, содержащей исходный код (например, <bucket-name>/<path-to-source-code>/<folder>/ ).
  • Для исходного кода в репозитории GitHub, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вы должны подключить свою учетную запись Amazon Web Services к вашей учетной записи GitHub. Используйте консоль CodeBuild для начала создания проекта сборки. Когда вы используете консоль для подключения (или повторного подключения) с GitHub, на странице GitHub Авторизовать приложение, для Доступа к организации, выберите Запросить доступ рядом с каждым репозиторием, который вы хотите разрешить CodeBuild иметь доступ, а затем выберите Авторизовать приложение. (После подключения к вашей учетной записи GitHub вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source установите значение объекта auth type на OAUTH .
  • Для исходного кода в репозитории GitLab или самообслуживаемом репозитории GitLab, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вы должны подключить свою учетную запись Amazon Web Services к вашей учетной записи GitLab. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к GitLab на странице Авторизовать приложение в разделе Подключения, выберите Авторизовать. Затем на странице CodeConnections Создать подключение GitLab выберите Подключиться к GitLab. (После подключения к вашей учетной записи GitLab вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта auth type на CODECONNECTIONS в объекте source.
  • Для исходного кода в репозитории Bitbucket, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вы должны подключить свою учетную запись Amazon Web Services к вашей учетной записи Bitbucket. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к Bitbucket на странице Bitbucket Подтвердить доступ к вашей учетной записи выберите Предоставить доступ. (После подключения к вашей учетной записи Bitbucket вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source установите значение объекта auth type на OAUTH .

Если вы укажете CODEPIPELINE для свойства Type, не указывайте это свойство. Для всех остальных типов вы должны указать Location .

gitCloneDepth -> (целое число)

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

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

Информация о настройке Git подмодулей для проекта сборки.

fetchSubmodules -> (булево)

Установите в значение true, чтобы получить подмодули Git для вашего проекта сборки CodeBuild.

buildspec -> (строка)

Объявление файла buildspec, используемого для сборок в этом проекте сборки.

Если это значение задано, оно может быть либо встроенным определением buildspec, путем к альтернативному файлу buildspec относительно значения встроенной переменной среды CODEBUILD_SRC_DIR, либо путем к ведру S3. Ведро должно находиться в той же области Amazon Web Services, что и проект сборки. Укажите файл buildspec с помощью его ARN (например, arn:aws:s3:::my-codebuild-sample2/buildspec.yml ). Если это значение не указано или задано пустой строкой, исходный код должен содержать файл buildspec в корневой папке. Для получения дополнительной информации см. Имя и расположение файла buildspec.

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

Информация о настройках авторизации для доступа CodeBuild к исходному коду для сборки.

тип -> (строка)

Тип авторизации для использования. Допустимые варианты - OAUTH, CODECONNECTIONS или SECRETS_MANAGER.

ресурс -> (строка)

Значение ресурса, применимое к указанному типу авторизации.

reportBuildStatus -> (булево)

Установите в значение true, чтобы отправить уведомление о статусе начала и завершения сборки поставщику источника. Этот параметр действителен только в том случае, если ваш поставщик источника — GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, GitLab, GitLab Self Managed или Bitbucket. Если это установлено и вы используете другого поставщика источника, будет брошено исключение invalidInputException.

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

Статус сборки, инициированной веб-хуком, всегда сообщается поставщику источника.

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

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

Содержит информацию, которая определяет, как проект сборки сообщает о статусе сборки поставщику источника. Этот параметр используется только при поставщике источника GITHUB , GITHUB_ENTERPRISE или BITBUCKET .

контекст -> (строка)

Указывает контекст статуса сборки, который CodeBuild отправляет поставщику источника. Использование этого параметра зависит от поставщика источника.

Bitbucket

Этот параметр используется для параметра name в статусе коммита Bitbucket. Для получения дополнительной информации см. build в документации API Bitbucket.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра context в статусе коммита GitHub. Для получения дополнительной информации см. Создание статуса коммита в руководстве разработчика GitHub.

targetUrl -> (строка)

Указывает целевой URL статуса сборки, который CodeBuild отправляет поставщику источника. Использование этого параметра зависит от поставщика источника.

Bitbucket

Этот параметр используется для параметра url в статусе коммита Bitbucket. Для получения дополнительной информации см. build в документации API Bitbucket.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра target_url в статусе коммита GitHub. Для получения дополнительной информации см. Создание статуса коммита в руководстве разработчика GitHub.

insecureSsl -> (булево)

Включите этот флаг, чтобы игнорировать предупреждения SSL при подключении к исходному коду проекта.

sourceIdentifier -> (строка)

Идентификатор источника для этого проекта. Идентификатор может содержать только символы латинского алфавита, цифры и символы подчеркивания и должен иметь длину меньше 128 символов.

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

type=string,location=string,gitCloneDepth=integer,gitSubmodulesConfig={fetchSubmodules=boolean},buildspec=string,auth={type=string,resource=string},reportBuildStatus=boolean,buildStatusConfig={context=string,targetUrl=string},insecureSsl=boolean,sourceIdentifier=string

Синтаксис JSON:

{
  "type": "CODECOMMIT"|"CODEPIPELINE"|"GITHUB"|"GITLAB"|"GITLAB_SELF_MANAGED"|"S3"|"BITBUCKET"|"GITHUB_ENTERPRISE"|"NO_SOURCE",
  "location": "string",
  "gitCloneDepth": integer,
  "gitSubmodulesConfig": {
    "fetchSubmodules": true|false
  },
  "buildspec": "string",
  "auth": {
    "type": "OAUTH"|"CODECONNECTIONS"|"SECRETS_MANAGER",
    "resource": "string"
  },
  "reportBuildStatus": true|false,
  "buildStatusConfig": {
    "context": "string",
    "targetUrl": "string"
  },
  "insecureSsl": true|false,
  "sourceIdentifier": "string"
}

--secondary-sources (список)

Массив объектов ProjectSource.

(структура)

Информация о коде исходного кода для проекта сборки.

тип -> (строка)

Тип репозитория, содержащего исходный код для сборки. Допустимые значения:

  • BITBUCKET : исходный код находится в репозитории Bitbucket.
  • CODECOMMIT : исходный код находится в репозитории CodeCommit.
  • CODEPIPELINE : настройки исходного кода указаны в действии источника конвейера в CodePipeline.
  • GITHUB : исходный код находится в репозитории GitHub.
  • GITHUB_ENTERPRISE : исходный код находится в репозитории GitHub Enterprise Server.
  • GITLAB : исходный код находится в репозитории GitLab.
  • GITLAB_SELF_MANAGED : исходный код находится в самостоятельном репозитории GitLab.
  • NO_SOURCE : проект не имеет исходного кода.
  • S3 : исходный код находится в ведре Amazon S3.

местоположение -> (строка)

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

  • Для настроек исходного кода, указанных в действии источника конвейера в CodePipeline, location не следует указывать. Если он указан, CodePipeline его игнорирует. Это связано с тем, что CodePipeline использует настройки в действии источника конвейера, а не это значение.
  • Для исходного кода в репозитории CodeCommit, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec (например, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name> ).
  • Для исходного кода в ведре ввода Amazon S3, одно из следующего:
    • Путь к файлу ZIP, содержащему исходный код (например, <bucket-name>/<path>/<object-name>.zip ).
    • Путь к папке, содержащей исходный код (например, <bucket-name>/<path-to-source-code>/<folder>/ ).
  • Для исходного кода в репозитории GitHub, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить свою учетную запись Amazon Web Services к вашей учетной записи GitHub. Используйте консоль CodeBuild для начала создания проекта сборки. При подключении (или повторном подключении) к GitHub через консоль, на странице GitHub Авторизовать приложение, для Доступа к организации выберите Запросить доступ рядом с каждым репозиторием, которому вы хотите разрешить CodeBuild иметь доступ, и затем выберите Авторизовать приложение . (После подключения к вашей учетной записи GitHub, вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source, установите значение объекта auth, type , в OAUTH .
  • Для исходного кода в репозитории GitLab или самостоятельном репозитории GitLab, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить свою учетную запись Amazon Web Services к вашей учетной записи GitLab. Используйте консоль CodeBuild для начала создания проекта сборки. При подключении (или повторном подключении) к GitLab через консоль, на странице подключений Авторизовать приложение, выберите Авторизовать. Затем на странице CodeConnections Создать подключение GitLab выберите Подключиться к GitLab . (После подключения к вашей учетной записи GitLab, вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта auth, type, в объекте source в значение CODECONNECTIONS.
  • Для исходного кода в репозитории Bitbucket, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить свою учетную запись Amazon Web Services к вашей учетной записи Bitbucket. Используйте консоль CodeBuild для начала создания проекта сборки. При подключении (или повторном подключении) к Bitbucket через консоль, на странице Bitbucket Подтвердить доступ к вашей учетной записи выберите Предоставить доступ. (После подключения к вашей учетной записи Bitbucket, вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source, установите значение объекта auth, type, в OAUTH .

Если вы укажете CODEPIPELINE для свойства Type, не указывайте это свойство. Для всех других типов необходимо указать Location .

gitCloneDepth -> (целое число)

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

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

Информация о конфигурации Git подмодулей для проекта сборки.

fetchSubmodules -> (булево)

Установите в значение true, чтобы получить подмодули Git для вашего проекта сборки CodeBuild.

buildspec -> (строка)

Декларация файла buildspec для использования в сборках этого проекта сборки.

Если это значение задано, оно может быть либо встроенным определением buildspec, путем к альтернативному файлу buildspec, относительно значения встроенной переменной среды CODEBUILD_SRC_DIR, или путем к ведру S3. Ведро должно находиться в той же области Amazon Web Services, что и проект сборки. Укажите файл buildspec с помощью его ARN (например, arn:aws:s3:::my-codebuild-sample2/buildspec.yml ). Если это значение не задано или установлено в пустую строку, исходный код должен содержать файл buildspec в корневой директории. Дополнительную информацию см. в разделе Имя и расположение файла buildspec .

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

Информация о настройках авторизации для CodeBuild для доступа к исходному коду, подлежащему сборке.

тип -> (строка)

Тип авторизации для использования. Допустимые значения - OAUTH, CODECONNECTIONS или SECRETS_MANAGER.

ресурс -> (строка)

Значение ресурса, применимое к указанному типу авторизации.

reportBuildStatus -> (булево)

Установите в значение true, чтобы сообщать о статусе начала и завершения сборки вашему поставщику исходного кода. Этот параметр действителен только при использовании GitHub, GitHub Enterprise, GitLab, GitLab Self Managed или Bitbucket в качестве поставщика исходного кода. Если этот параметр установлен и вы используете другой поставщик исходного кода, будет выброшено исключение invalidInputException.

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

Статус сборки, запущенной посредством веб-хука, всегда сообщается вашему поставщику исходного кода.

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

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

Содержит информацию, определяющую, как проект сборки сообщает о статусе сборки поставщику исходного кода. Этот параметр используется только при поставщике исходного кода GITHUB , GITHUB_ENTERPRISE или BITBUCKET.

контекст -> (строка)

Указывает контекст статуса сборки, который CodeBuild отправляет поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.

Bitbucket

Этот параметр используется для параметра name в статусе коммита Bitbucket. Дополнительную информацию см. в разделе build в документации API Bitbucket.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра context в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.

targetUrl -> (строка)

Указывает целевой URL статуса сборки, который CodeBuild отправляет поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.

Bitbucket

Этот параметр используется для параметра url в статусе коммита Bitbucket. Дополнительную информацию см. в разделе build в документации API Bitbucket.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра target_url в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.

insecureSsl -> (булево)

Включите этот флаг, чтобы игнорировать предупреждения SSL при подключении к исходному коду проекта.

sourceIdentifier -> (строка)

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

Краткая синтаксическая запись:

type=string,location=string,gitCloneDepth=integer,gitSubmodulesConfig={fetchSubmodules=boolean},buildspec=string,auth={type=string,resource=string},reportBuildStatus=boolean,buildStatusConfig={context=string,targetUrl=string},insecureSsl=boolean,sourceIdentifier=string ...

Синтаксис JSON:

[
  {
    "type": "CODECOMMIT"|"CODEPIPELINE"|"GITHUB"|"GITLAB"|"GITLAB_SELF_MANAGED"|"S3"|"BITBUCKET"|"GITHUB_ENTERPRISE"|"NO_SOURCE",
    "location": "string",
    "gitCloneDepth": integer,
    "gitSubmodulesConfig": {
      "fetchSubmodules": true|false
    },
    "buildspec": "string",
    "auth": {
      "type": "OAUTH"|"CODECONNECTIONS"|"SECRETS_MANAGER",
      "resource": "string"
    },
    "reportBuildStatus": true|false,
    "buildStatusConfig": {
      "context": "string",
      "targetUrl": "string"
    },
    "insecureSsl": true|false,
    "sourceIdentifier": "string"
  }
  ...
]

--source-version (строка)

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

  • Для CodeCommit: идентификатор коммита, ветка или Git-тег для использования.
  • Для GitHub: идентификатор коммита, идентификатор запроса на вытягивание, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указан идентификатор запроса на вытягивание, он должен иметь формат pr/pull-request-ID (например, pr/25 ). Если указано имя ветки, используется идентификатор коммита HEAD ветки. Если не указано, используется идентификатор коммита HEAD ветки по умолчанию.
  • Для GitLab: идентификатор коммита, ветка или Git-тег для использования.
  • Для Bitbucket: идентификатор коммита, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указано имя ветки, используется идентификатор коммита HEAD ветки. Если не указано, используется идентификатор коммита HEAD ветки по умолчанию.
  • Для Amazon S3: идентификатор версии объекта, который представляет собой файл ZIP с вводом сборки для использования.

Если sourceVersion указано на уровне сборки, то эта версия имеет приоритет над этим sourceVersion (на уровне проекта).

Дополнительную информацию см. в разделе Пример версии исходного кода с CodeBuild в руководстве по CodeBuild.

--secondary-source-versions (список)

Массив объектов ProjectSourceVersion. Если secondarySourceVersions указано на уровне сборки, то они переопределяют эти secondarySourceVersions (на уровне проекта).

(структура)

Идентификатор источника и его соответствующая версия.

sourceIdentifier -> (строка)

Идентификатор источника в проекте сборки. Идентификатор может содержать только буквенно-цифровые символы и символы подчеркивания, а также должен быть меньше 128 символов в длину.

sourceVersion -> (строка)

Версия источника для соответствующего идентификатора источника. Если указано, должно быть одним из следующих:

  • Для CodeCommit: идентификатор коммита, ветка или тег Git.
  • Для GitHub: идентификатор коммита, идентификатор запроса на вытягивание, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указан идентификатор запроса на вытягивание, он должен использовать формат pr/pull-request-ID (например, pr/25). Если указано имя ветки, используется идентификатор коммита HEAD этой ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию.
  • Для GitLab: идентификатор коммита, ветка или тег Git.
  • Для Bitbucket: идентификатор коммита, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указано имя ветки, используется идентификатор коммита HEAD этой ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию.
  • Для Amazon S3: идентификатор версии объекта, представляющего ZIP-файл входных данных сборки, который нужно использовать.

Для получения дополнительной информации см. Пример версии источника с CodeBuild в Руководстве пользователя CodeBuild.

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

sourceIdentifier=string,sourceVersion=string ...

Синтаксис JSON:

[
  {
    "sourceIdentifier": "string",
    "sourceVersion": "string"
  }
  ...
]

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

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

type -> (строка)

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

  • CODEPIPELINE : Проект сборки создал выходные данные через CodePipeline.

Примечание

Тип CODEPIPELINE не поддерживается для secondaryArtifacts.
  • NO_ARTIFACTS : Проект сборки не создает выходных данных.
  • S3 : Проект сборки сохраняет выходные данные сборки в Amazon S3.

location -> (строка)

Информация об расположении артефакта выходных данных сборки:

  • Если type установлено в CODEPIPELINE, CodePipeline игнорирует это значение, если оно указано. Это потому, что CodePipeline управляет расположением своих выходных данных сборки, а не CodeBuild.
  • Если type установлено в NO_ARTIFACTS, это значение игнорируется, если оно указано, так как выходных данных не создаётся.
  • Если type установлено в S3, это имя выходного хранилища.

path -> (строка)

Вместе с namespaceType и name шаблон, который CodeBuild использует для именования и сохранения выходного артефакта:

  • Если type установлено в CODEPIPELINE, CodePipeline игнорирует это значение, если оно указано. Это потому, что CodePipeline управляет именами своих выходных данных сборки, а не CodeBuild.
  • Если type установлено в NO_ARTIFACTS, это значение игнорируется, если указано, так как выходных данных не создаётся.
  • Если type установлено в S3, это путь к выходному артефакту. Если path не указано, path не используется.

Например, если path установлено в MyArtifacts, namespaceType установлено в NONE, и name установлено в MyArtifact.zip, выходной артефакт хранится в выходном хранилище по адресу MyArtifacts/MyArtifact.zip.

namespaceType -> (строка)

Вместе с path и name шаблон, который CodeBuild использует для определения имени и места хранения выходного артефакта:

  • Если type установлено в CODEPIPELINE, CodePipeline игнорирует это значение, если оно указано. Это потому, что CodePipeline управляет именами своих выходных данных сборки, а не CodeBuild.
  • Если type установлено в NO_ARTIFACTS, это значение игнорируется, если указано, так как выходных данных не создаётся.
  • Если type установлено в S3, допустимые значения включают:
    • BUILD_ID : Включает идентификатор сборки в расположение артефакта выходных данных сборки.
    • NONE : Не включает идентификатор сборки. Это значение по умолчанию, если namespaceType не указано.

Например, если path установлено в MyArtifacts, namespaceType установлено в BUILD_ID, и name установлено в MyArtifact.zip, выходной артефакт хранится в MyArtifacts/<build-ID>/MyArtifact.zip.

name -> (строка)

Вместе с path и namespaceType шаблон, который CodeBuild использует для именования и сохранения выходного артефакта:

  • Если type установлено в CODEPIPELINE, CodePipeline игнорирует это значение, если оно указано. Это потому, что CodePipeline управляет именами своих выходных данных сборки, а не CodeBuild.
  • Если type установлено в NO_ARTIFACTS, это значение игнорируется, если указано, так как выходных данных не создаётся.
  • Если type установлено в S3, это имя объекта выходного артефакта. Если вы зададите имя как обратный слэш (“/”), артефакт хранится в корне выходного хранилища.

Например:

  • Если path установлено в MyArtifacts, namespaceType установлено в BUILD_ID, и name установлено в MyArtifact.zip, выходной артефакт хранится в MyArtifacts/<build-ID>/MyArtifact.zip.
  • Если path пустое, namespaceType установлено в NONE, и name установлено в “/”, выходной артефакт хранится в корне выходного хранилища.
  • Если path установлено в MyArtifacts, namespaceType установлено в BUILD_ID, и name установлено в “/”, выходной артефакт хранится в MyArtifacts/<build-ID>.

packaging -> (строка)

Тип артефакта выходных данных сборки, который нужно создать:

  • Если type установлено в CODEPIPELINE, CodePipeline игнорирует это значение, если оно указано. Это потому, что CodePipeline управляет артефактами своих выходных данных сборки, а не CodeBuild.
  • Если type установлено в NO_ARTIFACTS, это значение игнорируется, если указано, так как выходных данных не создаётся.
  • Если type установлено в S3, допустимые значения включают:
    • NONE : CodeBuild создает в выходном хранилище папку, которая содержит выходные данные сборки. Это значение по умолчанию, если packaging не указано.
    • ZIP : CodeBuild создает в выходном хранилище ZIP-архив, который содержит выходные данные сборки.

overrideArtifactName -> (логическое)

Если этот флаг установлен, имя, указанное в файле buildspec, переопределяет имя артефакта. Имя, указанное в файле buildspec, вычисляется во время сборки и использует язык командной строки Shell. Например, вы можете добавить дату и время к имени артефакта, чтобы оно всегда было уникальным.

encryptionDisabled -> (логическое)

Установите в значение true, если вы не хотите шифровать свои выходные артефакты. Этот параметр допустим только если тип ваших артефактов — Amazon S3. Если этот параметр установлен для другого типа артефактов, генерируется исключение invalidInputException.

artifactIdentifier -> (строка)

Идентификатор этого определения артефакта.

bucketOwnerAccess -> (строка)

Указывает доступ владельца ведра для объектов, которые другая учетная запись загружает в их ведро Amazon S3. По умолчанию доступ к этим объектам имеет только учетная запись, которая загрузила их в ведро. Этот параметр позволяет предоставить доступ владельцу ведра к этим объектам.

Примечание

Для использования этого параметра ваша роль службы CodeBuild должна иметь разрешение s3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.

Этот параметр может принимать следующие значения:

NONE

Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.

READ_ONLY

Владелец ведра имеет доступ только для чтения к объектам. Загружающая учетная запись сохраняет владение объектами.

FULL

Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:

  • Если ведро настроено на использование параметра Bucket owner preferred, владелец ведра владеет объектами. У загружающей учетной записи будет доступ к объектам в соответствии с политикой ведра.
  • В противном случае загружающая учетная запись сохраняет владение объектами.

Для получения дополнительной информации о владении объектами Amazon S3 см. Управление владением загружаемыми объектами с помощью S3 Object Ownership в Руководстве пользователя Amazon Simple Storage Service.

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

type=string,location=string,path=string,namespaceType=string,name=string,packaging=string,overrideArtifactName=boolean,encryptionDisabled=boolean,artifactIdentifier=string,bucketOwnerAccess=string

Синтаксис JSON:

{
  "type": "CODEPIPELINE"|"S3"|"NO_ARTIFACTS",
  "location": "string",
  "path": "string",
  "namespaceType": "NONE"|"BUILD_ID",
  "name": "string",
  "packaging": "NONE"|"ZIP",
  "overrideArtifactName": true|false,
  "encryptionDisabled": true|false,
  "artifactIdentifier": "string",
  "bucketOwnerAccess": "NONE"|"READ_ONLY"|"FULL"
}

--secondary-artifacts (список)

Массив объектов ProjectArtifact.

(структура)

Информация об артефактах выходных данных сборки для проекта сборки.

тип -> (строка)

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

  • CODEPIPELINE : Проект сборки сгенерировал выходные данные сборки с помощью CodePipeline.

Примечание

Тип CODEPIPELINE не поддерживается для secondaryArtifacts .
  • NO_ARTIFACTS : Проект сборки не генерирует выходные данные сборки.
  • S3 : Проект сборки хранит выходные данные сборки в Amazon S3.

местоположение -> (строка)

Информация о местоположении артефакта выходных данных сборки:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно задано. Это связано с тем, что CodePipeline управляет местоположениями выходных данных сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, если оно задано, так как выходные данные сборки не генерируются.
  • Если type установлено в значение S3 , это имя выходного ведра.

путь -> (строка)

Вместе с namespaceType и name шаблон, используемый CodeBuild для именования и хранения артефакта выходных данных:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно задано. Это связано с тем, что CodePipeline управляет именами выходных данных сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, если оно задано, так как выходные данные сборки не генерируются.
  • Если type установлено в значение S3 , это путь к артефакту выходных данных. Если path не указано, path не используется.

Например, если path установлено в значение MyArtifacts , namespaceType установлено в значение NONE , и name установлено в значение MyArtifact.zip , артефакт выходных данных хранится в выходном ведре по адресу MyArtifacts/MyArtifact.zip .

пространствоИмен -> (строка)

Вместе с path и name шаблон, используемый CodeBuild для определения имени и расположения для хранения артефакта выходных данных:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно задано. Это связано с тем, что CodePipeline управляет именами выходных данных сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, если оно задано, так как выходные данные сборки не генерируются.
  • Если type установлено в значение S3 , допустимые значения включают:
    • BUILD_ID : Включить идентификатор сборки в расположение артефакта выходных данных сборки.
    • NONE : Не включать идентификатор сборки. Это значение по умолчанию, если namespaceType не задано.

Например, если path установлено в значение MyArtifacts , namespaceType установлено в значение BUILD_ID , и name установлено в значение MyArtifact.zip , артефакт выходных данных хранится в MyArtifacts/<build-ID>/MyArtifact.zip .

имя -> (строка)

Вместе с path и namespaceType шаблон, используемый CodeBuild для именования и хранения артефакта выходных данных:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно задано. Это связано с тем, что CodePipeline управляет именами выходных данных сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, так как выходные данные сборки не генерируются.
  • Если type установлено в значение S3 , это имя объекта артефакта выходных данных. Если вы зададите имя прямой косой чертой («/»), артефакт будет сохранен в корне выходного ведра.

Пример:

  • Если path установлено в значение MyArtifacts , namespaceType установлено в значение BUILD_ID , и name установлено в значение MyArtifact.zip , артефакт выходных данных хранится в MyArtifacts/<build-ID>/MyArtifact.zip .
  • Если path пусто, namespaceType установлено в значение NONE , и name установлено в значение «/ », артефакт выходных данных хранится в корне выходного ведра.
  • Если path установлено в значение MyArtifacts , namespaceType установлено в значение BUILD_ID , и name установлено в значение «/ », артефакт выходных данных хранится в MyArtifacts/<build-ID> .

упаковка -> (строка)

Тип артефакта выходных данных сборки, который нужно создать:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно задано. Это связано с тем, что CodePipeline управляет артефактами выходных данных сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, если оно задано, так как выходные данные сборки не генерируются.
  • Если type установлено в значение S3 , допустимые значения включают:
    • NONE : CodeBuild создает в выходном ведре папку, содержащую выходные данные сборки. Это значение по умолчанию, если packaging не задано.
    • ZIP : CodeBuild создает в выходном ведре ZIP-архив, содержащий выходные данные сборки.

переопределитьИмяАртефакта -> (булево)

Если этот флаг установлен, заданное в файле buildspec имя артефакта переопределяет имя артефакта. Название, заданное в файле buildspec, вычисляется во время сборки и использует язык командной оболочки. Например, вы можете добавить дату и время к имени артефакта, чтобы оно всегда было уникальным.

отключитьШифрование -> (булево)

Установите в значение true, если вы не хотите шифровать артефакты выходных данных. Этот параметр действителен только если тип артефактов — Amazon S3. Если этот параметр задан с другим типом артефактов, генерируется исключение invalidInputException.

идентификаторАртефакта -> (строка)

Идентификатор этого определения артефакта.

доступВладельцаВедра -> (строка)

Указывает доступ владельца ведра для объектов, загружаемых другой учётной записью в ведро Amazon S3. По умолчанию только учётная запись, загружающая объекты в ведро, имеет доступ к этим объектам. Этот параметр позволяет предоставить владельцу ведра доступ к этим объектам.

Примечание

Для использования этого параметра ваша служба роли CodeBuild должна иметь разрешение s3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.

Этот параметр может принимать одно из следующих значений:

NONE

Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.

READ_ONLY

Владелец ведра имеет только доступ для чтения к объектам. Загружающая учётная запись сохраняет владение объектами.

FULL

Владелец ведра имеет полный доступ к объектам. Владение объектом определяется следующими критериями:

  • Если ведро настроено с параметром «Предпочитается владелец ведра», владелец ведра владеет объектами. Загружающая учётная запись будет иметь доступ к объектам в соответствии с политикой ведра.
  • В противном случае загружающая учётная запись сохраняет владение объектами.

Дополнительную информацию о владении объектами Amazon S3 см. в разделе «Управление владение загруженными объектами с помощью владения объектами S3» в руководстве пользователя Amazon Simple Storage Service.

Краткий синтаксис:

type=string,location=string,path=string,namespaceType=string,name=string,packaging=string,overrideArtifactName=boolean,encryptionDisabled=boolean,artifactIdentifier=string,bucketOwnerAccess=string ...

Синтаксис JSON:

[
  {
    "type": "CODEPIPELINE"|"S3"|"NO_ARTIFACTS",
    "location": "string",
    "path": "string",
    "namespaceType": "NONE"|"BUILD_ID",
    "name": "string",
    "packaging": "NONE"|"ZIP",
    "overrideArtifactName": true|false,
    "encryptionDisabled": true|false,
    "artifactIdentifier": "string",
    "bucketOwnerAccess": "NONE"|"READ_ONLY"|"FULL"
  }
  ...
]

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

Хранит недавно используемую информацию, чтобы её можно было быстро получить в дальнейшем.

тип -> (строка)

Тип кэша, используемого проектом сборки. Допустимые значения включают:

  • NO_CACHE : Проект сборки не использует кэш.
  • S3 : Проект сборки считывает и записывает данные из S3.
  • LOCAL : Проект сборки хранит кэш локально на хосте сборки, доступном только этому хосту.

местоположение -> (строка)

Информация о расположении кэша:

  • NO_CACHE или LOCAL : Это значение игнорируется.
  • S3 : Это имя/префикс ведра S3.

режимы -> (список)

Массив строк, определяющих режимы локального кэша. Вы можете использовать один или несколько режимов локального кэша одновременно. Это используется только для типов кэша LOCAL.

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

LOCAL_SOURCE_CACHE

Кэширует метаданные Git для основных и дополнительных источников. После создания кэша последующие сборки извлекают только изменения между коммитами. Этот режим подходит для проектов с чистым каталогом рабочей области и исходным кодом, представляющим собой большой репозиторий Git. Если вы выбрали этот параметр, а ваш проект не использует репозиторий Git (GitHub, GitHub Enterprise или Bitbucket), этот параметр будет проигнорирован.

LOCAL_DOCKER_LAYER_CACHE

Кэширует существующие слои Docker. Этот режим подходит для проектов, которые собирают или извлекают большие Docker-изображения. Он может предотвратить проблемы производительности, вызванные извлечением больших Docker-изображений из сети.

Примечание

  • Вы можете использовать кэш слоев Docker только в Linux-среде.
  • Флаг privileged должен быть установлен, чтобы ваш проект имел необходимые разрешения Docker.
  • Прежде чем использовать кэш слоёв Docker, необходимо учитывать последствия для безопасности.

LOCAL_CUSTOM_CACHE

Кэширует каталоги, которые вы указываете в файле buildspec. Этот режим подходит, если сценарий сборки не подходит для одного из трёх других режимов локального кэша. Если вы используете пользовательский кэш:

  • Для кэширования могут быть указаны только каталоги. Вы не можете указывать отдельные файлы.
  • Символические ссылки используются для ссылки на кэшированные каталоги.
  • Кэшированные каталоги связаны с вашей сборкой до загрузки исходных данных проекта. Кэшированные элементы переопределяются, если элемент исходного кода имеет то же имя. Каталоги указываются с помощью путей к кэшу в файле buildspec.

(строка)

пространствоИменКэша -> (строка)

Определяет область действия кэша. Вы можете использовать это пространство имён для совместного использования кэша между несколькими проектами. Дополнительную информацию см. в разделе «Совместное использование кэша между проектами» в руководстве пользователя CodeBuild.

Краткий синтаксис:

type=string,location=string,modes=string,string,cacheNamespace=string

Синтаксис JSON:

{
  "type": "NO_CACHE"|"S3"|"LOCAL",
  "location": "string",
  "modes": ["LOCAL_DOCKER_LAYER_CACHE"|"LOCAL_SOURCE_CACHE"|"LOCAL_CUSTOM_CACHE", ...],
  "cacheNamespace": "string"
}

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

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

type -> (строка)

Тип среды сборки, который следует использовать для связанных сборок.

Примечание

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

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

image -> (строка)

Тег изображения или дайджест изображения, определяющий Docker-образ, который следует использовать для этого проекта сборки. Используйте следующие форматы:

  • Для тега изображения: <registry>/<repository>:<tag> . Например, в репозитории Docker, который CodeBuild использует для управления своими Docker-образами, это будет aws/codebuild/standard:4.0 .
  • Для дайджеста изображения: <registry>/<repository>@<digest> . Например, для указания образа с дайджестом «sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf», используйте <registry>/<repository>@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf .

Дополнительную информацию см. в разделе Docker-образы, предоставляемые CodeBuild, в Руководстве пользователя CodeBuild.

computeType -> (строка)

Информация о вычислительных ресурсах, используемых проектом сборки. Доступные значения включают:

  • ATTRIBUTE_BASED_COMPUTE : Укажите количество vCPU, память, дисковое пространство и тип машины.

Примечание

Если вы используете ATTRIBUTE_BASED_COMPUTE , вы должны определить свои атрибуты, используя computeConfiguration . CodeBuild выберет самый дешёвый экземпляр, который удовлетворяет вашим указанным атрибутам. Дополнительную информацию см. в разделе Типы сред с резервируемыми ресурсами в Руководстве пользователя CodeBuild.
  • BUILD_GENERAL1_SMALL : Используйте до 4 ГБ памяти и 2 vCPU для сборок.
  • BUILD_GENERAL1_MEDIUM : Используйте до 8 ГБ памяти и 4 vCPU для сборок.
  • BUILD_GENERAL1_LARGE : Используйте до 16 ГБ памяти и 8 vCPU для сборок, в зависимости от типа вашей среды.
  • BUILD_GENERAL1_XLARGE : Используйте до 72 ГБ памяти и 36 vCPU для сборок, в зависимости от типа вашей среды.
  • BUILD_GENERAL1_2XLARGE : Используйте до 144 ГБ памяти, 72 vCPU и 824 ГБ SSD-хранилища для сборок. Этот тип вычислительной мощности поддерживает Docker-образы объёмом до 100 ГБ без сжатия.
  • BUILD_LAMBDA_1GB : Используйте до 1 ГБ памяти для сборок. Доступно только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_2GB : Используйте до 2 ГБ памяти для сборок. Доступно только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_4GB : Используйте до 4 ГБ памяти для сборок. Доступно только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_8GB : Используйте до 8 ГБ памяти для сборок. Доступно только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_10GB : Используйте до 10 ГБ памяти для сборок. Доступно только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .

Если вы используете BUILD_GENERAL1_SMALL :

  • Для типа среды LINUX_CONTAINER вы можете использовать до 4 ГБ памяти и 2 vCPU для сборок.
  • Для типа среды LINUX_GPU_CONTAINER вы можете использовать до 16 ГБ памяти, 4 vCPU и 1 NVIDIA A10G Tensor Core GPU для сборок.
  • Для типа среды ARM_CONTAINER вы можете использовать до 4 ГБ памяти и 2 vCPU на процессорах ARM для сборок.

Если вы используете BUILD_GENERAL1_LARGE :

  • Для типа среды LINUX_CONTAINER вы можете использовать до 16 ГБ памяти и 8 vCPU для сборок.
  • Для типа среды LINUX_GPU_CONTAINER вы можете использовать до 255 ГБ памяти, 32 vCPU и 4 NVIDIA Tesla V100 GPU для сборок.
  • Для типа среды ARM_CONTAINER вы можете использовать до 16 ГБ памяти и 8 vCPU на процессорах ARM для сборок.

Дополнительную информацию см. в разделе Типы сред по требованию в Руководстве пользователя CodeBuild.

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

Конфигурация вычислительных ресурсов проекта сборки. Это необходимо только в том случае, если computeType установлено в ATTRIBUTE_BASED_COMPUTE .

vCpu -> (целое число)

Количество vCPU типа экземпляра, включенного в ваш флот.

memory -> (целое число)

Объём памяти типа экземпляра, включенного в ваш флот.

disk -> (целое число)

Объём дискового пространства типа экземпляра, включенного в ваш флот.

machineType -> (строка)

Тип машины типа экземпляра, включённого в ваш флот.

instanceType -> (строка)

Тип EC2-экземпляра, который будет запущен в вашем флоте.

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

Объект ProjectFleet для использования в этом проекте сборки.

fleetArn -> (строка)

Указывает ARN вычислительного флота для проекта сборки.

environmentVariables -> (список)

Набор переменных среды, которые следует сделать доступными для сборок в этом проекте сборки.

(структура)

Информация о переменной среды для проекта сборки или сборки.

name -> (строка)

Имя или ключ переменной среды.

value -> (строка)

Значение переменной среды.

Предупреждение

Категорически не рекомендуется использовать переменные среды PLAINTEXT для хранения конфиденциальных данных, особенно идентификаторов секретных ключей Amazon Web Services. Переменные среды PLAINTEXT могут отображаться в виде обычного текста с помощью консоли CodeBuild и командной строки. Для конфиденциальных данных рекомендуется использовать переменную среды типа PARAMETER_STORE или SECRETS_MANAGER .

type -> (строка)

Тип переменной среды. Допустимые значения включают:

  • PARAMETER_STORE : Переменная среды, хранящаяся в хранилище параметров Systems Manager. Для переменных среды этого типа укажите имя параметра как value переменной EnvironmentVariable. Значение параметра будет подставлено на этапе выполнения. Вы также можете определить переменные среды хранилища параметров в buildspec. Чтобы узнать как, см. env/parameter-store в Руководстве пользователя CodeBuild.
  • PLAINTEXT : Переменная среды в формате простого текста. Это значение по умолчанию.
  • SECRETS_MANAGER : Переменная среды, хранящаяся в Secrets Manager. Для переменных среды этого типа укажите имя секрета как value переменной EnvironmentVariable. Значение секрета будет подставлено на этапе выполнения. Вы также можете определить переменные среды Secrets Manager в buildspec. Чтобы узнать как, см. env/secrets-manager в Руководстве пользователя CodeBuild.

privilegedMode -> (булево)

Включает запуск Docker-демона внутри контейнера Docker. Установите в значение true только если проект сборки используется для создания Docker-образов. В противном случае сборка, пытающаяся взаимодействовать с Docker-демоном, завершится ошибкой. Значение по умолчанию — false .

Вы можете инициализировать Docker-демон на этапе установки вашей сборки, добавив один из следующих наборов команд в этап установки файла buildspec:

Если базовый образ операционной системы — Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"

Если базовый образ операционной системы — Alpine Linux и предыдущая команда не работает, добавьте аргумент -t к timeout :

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"

certificate -> (строка)

ARN ведра Amazon S3, префикс пути и имя объекта, содержащего PEM-кодированный сертификат для проекта сборки. Дополнительную информацию см. в разделе certificate в Руководстве пользователя CodeBuild.

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

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

credential -> (строка)

Amazon Resource Name (ARN) или имя удостоверений, созданных с помощью Secrets Manager.

Примечание

credential может использовать имя удостоверений только если они существуют в вашем текущем регионе Amazon Web Services.

credentialProvider -> (строка)

Сервис, создавший удостоверения для доступа к частному репозиторию Docker. Допустимое значение SECRETS_MANAGER — для Secrets Manager.

imagePullCredentialsType -> (строка)

Тип удостоверений, которые CodeBuild использует для извлечения изображений во время сборки. Существует два допустимых значения:

  • CODEBUILD указывает, что CodeBuild использует собственные удостоверения. Это требует изменения политики вашего репозитория ECR для доверия к службе CodeBuild.
  • SERVICE_ROLE указывает, что CodeBuild использует роль службы вашего проекта сборки.

При использовании образа из другого аккаунта или частного репозитория необходимо использовать SERVICE_ROLE удостоверения. При использовании предопределённого образа CodeBuild, необходимо использовать CODEBUILD удостоверения.

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

Объект DockerServer для использования в этом проекте сборки.

computeType -> (строка)

Информация о вычислительных ресурсах, используемых Docker-сервером. Доступные значения включают:

  • BUILD_GENERAL1_SMALL : Используйте до 4 ГБ памяти и 2 vCPU для своего Docker-сервера.
  • BUILD_GENERAL1_MEDIUM : Используйте до 8 ГБ памяти и 4 vCPU для своего Docker-сервера.
  • BUILD_GENERAL1_LARGE : Используйте до 16 ГБ памяти и 8 vCPU для своего Docker-сервера.
  • BUILD_GENERAL1_XLARGE : Используйте до 64 ГБ памяти и 32 vCPU для своего Docker-сервера.
  • BUILD_GENERAL1_2XLARGE : Используйте до 128 ГБ памяти и 64 vCPU для своего Docker-сервера.

securityGroupIds -> (список)

Список одного или нескольких идентификаторов групп безопасности.

Примечание

Настроенные для Docker-серверов группы безопасности должны разрешать входной сетевой трафик из VPC, настроенной в проекте. Они должны разрешать входной трафик по порту 9876.

(строка)

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

Объект DockerServerStatus для использования с этим Docker-сервером.

status -> (строка)

Статус Docker-сервера.

message -> (строка)

Сообщение, связанное со статусом Docker-сервера.

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

type=string,image=string,computeType=string,computeConfiguration={vCpu=long,memory=long,disk=long,machineType=string,instanceType=string},fleet={fleetArn=string},environmentVariables=[{name=string,value=string,type=string},{name=string,value=string,type=string}],privilegedMode=boolean,certificate=string,registryCredential={credential=string,credentialProvider=string},imagePullCredentialsType=string,dockerServer={computeType=string,securityGroupIds=[string,string],status={status=string,message=string}}

Синтаксис JSON:

{
  "type": "WINDOWS_CONTAINER"|"LINUX_CONTAINER"|"LINUX_GPU_CONTAINER"|"ARM_CONTAINER"|"WINDOWS_SERVER_2019_CONTAINER"|"WINDOWS_SERVER_2022_CONTAINER"|"LINUX_LAMBDA_CONTAINER"|"ARM_LAMBDA_CONTAINER"|"LINUX_EC2"|"ARM_EC2"|"WINDOWS_EC2"|"MAC_ARM",
  "image": "string",
  "computeType": "BUILD_GENERAL1_SMALL"|"BUILD_GENERAL1_MEDIUM"|"BUILD_GENERAL1_LARGE"|"BUILD_GENERAL1_XLARGE"|"BUILD_GENERAL1_2XLARGE"|"BUILD_LAMBDA_1GB"|"BUILD_LAMBDA_2GB"|"BUILD_LAMBDA_4GB"|"BUILD_LAMBDA_8GB"|"BUILD_LAMBDA_10GB"|"ATTRIBUTE_BASED_COMPUTE"|"CUSTOM_INSTANCE_TYPE",
  "computeConfiguration": {
    "vCpu": long,
    "memory": long,
    "disk": long,
    "machineType": "GENERAL"|"NVME",
    "instanceType": "string"
  },
  "fleet": {
    "fleetArn": "string"
  },
  "environmentVariables": [
    {
      "name": "string",
      "value": "string",
      "type": "PLAINTEXT"|"PARAMETER_STORE"|"SECRETS_MANAGER"
    }
    ...
  ],
  "privilegedMode": true|false,
  "certificate": "string",
  "registryCredential": {
    "credential": "string",
    "credentialProvider": "SECRETS_MANAGER"
  },
  "imagePullCredentialsType": "CODEBUILD"|"SERVICE_ROLE",
  "dockerServer": {
    "computeType": "BUILD_GENERAL1_SMALL"|"BUILD_GENERAL1_MEDIUM"|"BUILD_GENERAL1_LARGE"|"BUILD_GENERAL1_XLARGE"|"BUILD_GENERAL1_2XLARGE"|"BUILD_LAMBDA_1GB"|"BUILD_LAMBDA_2GB"|"BUILD_LAMBDA_4GB"|"BUILD_LAMBDA_8GB"|"BUILD_LAMBDA_10GB"|"ATTRIBUTE_BASED_COMPUTE"|"CUSTOM_INSTANCE_TYPE",
    "securityGroupIds": ["string", ...],
    "status": {
      "status": "string",
      "message": "string"
    }
  }
}

--service-role (строка)

Заменяющий ARN роли IAM, который позволяет CodeBuild взаимодействовать с зависимыми службами Amazon Web Services от имени учётной записи Amazon Web Services.

--timeout-in-minutes (целое число)

Заменяющее значение в минутах, от 5 до 2160 (36 часов), для CodeBuild ждать перед истечением времени ожидания любой связанной сборки, которая не была отмечена как завершенная.

--queued-timeout-in-minutes (целое число)

Количество минут, в течение которого сборка может находиться в очереди перед истечением времени ожидания.

--encryption-key (строка)

Ключ управления ключами (CMK) службы управления ключами, который будет использоваться для шифрования артефактов выходных данных сборки.

Примечание

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

Вы можете указать либо Amazon Resource Name (ARN) CMK, либо, если доступно, псевдоним CMK (используя формат alias/<alias-name>).

--tags (список)

Обновленный список пар значений тегов, связанных с данным проектом сборки.

Эти теги доступны для использования службами Amazon Web Services, которые поддерживают теги проекта сборки CodeBuild.

(структура)

Тег, состоящий из ключа и значения.

Этот тег доступен для использования службами Amazon Web Services, которые поддерживают теги в CodeBuild.

ключ -> (строка)

Ключ тега.

значение -> (строка)

Значение тега.

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

key=string,value=string ...

Синтаксис JSON:

[
  {
    "key": "string",
    "value": "string"
  }
  ...
]

--vpc-config (структура)

VpcConfig позволяет CodeBuild получать доступ к ресурсам в Amazon VPC.

vpcId -> (строка)

Идентификатор Amazon VPC.

subnets -> (список)

Список одного или нескольких идентификаторов подсетей в вашей Amazon VPC.

(строка)

securityGroupIds -> (список)

Список одного или нескольких идентификаторов групп безопасности в вашей Amazon VPC.

(строка)

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

vpcId=string,subnets=string,string,securityGroupIds=string,string

Синтаксис JSON:

{
  "vpcId": "string",
  "subnets": ["string", ...],
  "securityGroupIds": ["string", ...]
}

--badge-enabled | --no-badge-enabled (булево)

Установите значение в «true», чтобы сгенерировать публично доступную ссылку на значок сборки вашего проекта.

--logs-config (структура)

Информация о журналах для проекта сборки. Проект может создавать журналы в CloudWatch Logs, журналах в ведре S3 или в обоих.

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

Информация о CloudWatch Logs для проекта сборки. CloudWatch Logs включены по умолчанию.

status -> (строка)

Текущий статус журналов в CloudWatch Logs для проекта сборки. Допустимые значения:

  • ENABLED : CloudWatch Logs включены для этого проекта сборки.
  • DISABLED : CloudWatch Logs не включены для этого проекта сборки.

groupName -> (строка)

Имя группы журналов в CloudWatch Logs. Дополнительную информацию см. в разделе Работа с группами и потоками логов.

streamName -> (строка)

Префикс имени потока CloudWatch Logs. Дополнительную информацию см. в разделе Работа с группами и потоками логов.

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

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

status -> (строка)

Текущий статус журналов сборки S3. Допустимые значения:

  • ENABLED : Журналы сборки S3 включены для этого проекта сборки.
  • DISABLED : Журналы сборки S3 не включены для этого проекта сборки.

location -> (строка)

ARN ведра S3 и префикс пути для журналов S3. Если имя вашего ведра Amazon S3 — my-bucket, а префикс пути — build-log, то допустимые форматы — my-bucket/build-log или arn:aws:s3:::my-bucket/build-log.

encryptionDisabled -> (булево)

Установите значение в «true», если не хотите шифровать выходные данные журналов сборки S3. По умолчанию журналы сборки S3 зашифрованы.

bucketOwnerAccess -> (строка)

Указывает доступ владельца ведра к объектам, которые загружает другая учетная запись в ведро Amazon S3.

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

Примечание

Для использования этого свойства ваша служба роли CodeBuild должна иметь разрешение s3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.

Это свойство может принимать одно из следующих значений:

NONE

Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.

READ_ONLY

Владелец ведра имеет доступ только для чтения к объектам. Загружающая учетная запись сохраняет право собственности на объекты.

FULL

Владелец ведра имеет полный доступ к объектам. Право собственности на объекты определяется следующими критериями:

  • Если ведро настроено с параметром «Предпочтительный владелец ведра», владелец ведра владеет объектами. Загружающая учетная запись будет иметь доступ к объектам, как указано в политике ведра.
  • В противном случае загружающая учетная запись сохраняет право собственности на объекты.

Дополнительную информацию о владении объектами Amazon S3 см. в руководстве Amazon Simple Storage Service User Guide в разделе «Управление правом собственности на загружаемые объекты с использованием права собственности на объекты S3».

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

cloudWatchLogs={status=string,groupName=string,streamName=string},s3Logs={status=string,location=string,encryptionDisabled=boolean,bucketOwnerAccess=string}

Синтаксис JSON:

{
  "cloudWatchLogs": {
    "status": "ENABLED"|"DISABLED",
    "groupName": "string",
    "streamName": "string"
  },
  "s3Logs": {
    "status": "ENABLED"|"DISABLED",
    "location": "string",
    "encryptionDisabled": true|false,
    "bucketOwnerAccess": "NONE"|"READ_ONLY"|"FULL"
  }
}

--file-system-locations (список)

Массив объектов ProjectFileSystemLocation для проекта сборки CodeBuild. Объект ProjectFileSystemLocation определяет identifier, location, mountOptions, mountPoint и type файловой системы, созданной с использованием Amazon Elastic File System.

(структура)

Информация о файловой системе, созданной Amazon Elastic File System (EFS). Дополнительную информацию см. в разделе Что такое Amazon Elastic File System?

type -> (строка)

Тип файловой системы. Поддерживается один тип: EFS.

location -> (строка)

Строка, определяющая расположение файловой системы, созданной Amazon EFS. Ее формат — efs-dns-name:/directory-path. DNS-имя файловой системы можно найти в консоли Amazon EFS. Путь к каталогу — это путь к каталогу в файловой системе, который монтируется CodeBuild. Например, если DNS-имя файловой системы — fs-abcd1234.efs.us-west-2.amazonaws.com, а каталог монтирования — my-efs-mount-directory, то location будет fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory.

Путь к каталогу в формате efs-dns-name:/directory-path необязателен. Если путь к каталогу не указан, расположением будет только DNS-имя, и CodeBuild будет монтировать всю файловую систему.

mountPoint -> (строка)

Расположение в контейнере, где монтируется файловая система.

identifier -> (строка)

Имя для доступа к файловой системе, созданной Amazon EFS. CodeBuild создает переменную окружения, добавляя identifier (заглавными буквами) к CODEBUILD_. Например, если для identifier указано my_efs, создается новая переменная окружения с именем CODEBUILD_MY_EFS.

identifier используется для монтирования файловой системы.

mountOptions -> (строка)

Параметры монтирования для файловой системы, созданной Amazon EFS. CodeBuild использует параметры монтирования по умолчанию: nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. Дополнительную информацию см. в разделе Рекомендуемые параметры монтирования NFS.

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

type=string,location=string,mountPoint=string,identifier=string,mountOptions=string ...

Синтаксис JSON:

[
  {
    "type": "EFS",
    "location": "string",
    "mountPoint": "string",
    "identifier": "string",
    "mountOptions": "string"
  }
  ...
]

--build-batch-config (структура)

Содержит конфигурационную информацию о проекте пакетной сборки.

serviceRole -> (строка)

Указывает ARN роли службы для проекта пакетной сборки.

combineArtifacts -> (булево)

Указывает, должны ли артефакты сборки для пакетной сборки объединяться в одном расположении артефактов.

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

Объект BatchRestrictions, который определяет ограничения для пакетной сборки.

maximumBuildsAllowed -> (целое число)

Указывает максимальное количество разрешённых сборок.

computeTypesAllowed -> (список)

Массив строк, определяющих разрешённые типы вычислительных ресурсов для пакетной сборки. Смотрите Типы вычислительных ресурсов среды сборки в руководстве CodeBuild User Guide для этих значений.

(строка)

fleetsAllowed -> (список)

Массив строк, определяющих разрешённые флоты для пакетной сборки. Смотрите Запуск сборок на резервируемых флотах ресурсов в руководстве CodeBuild User Guide для получения дополнительной информации.

(строка)

timeoutInMins -> (целое число)

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

batchReportMode -> (строка)

Указывает, как отчеты о состоянии сборки отправляются поставщику исходного кода для пакетной сборки. Это свойство используется только тогда, когда поставщик исходного кода для вашего проекта — Bitbucket, GitHub или GitHub Enterprise, и ваш проект настроен на отправку отчетов о состоянии сборки поставщику исходного кода.

REPORT_AGGREGATED_BATCH

(По умолчанию) Объединяет все состояния сборки в один отчет.

REPORT_INDIVIDUAL_BUILDS

Отправляет отдельный отчет о состоянии для каждой отдельной сборки.

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

serviceRole=string,combineArtifacts=boolean,restrictions={maximumBuildsAllowed=integer,computeTypesAllowed=[string,string],fleetsAllowed=[string,string]},timeoutInMins=integer,batchReportMode=string

Синтаксис JSON:

{
  "serviceRole": "string",
  "combineArtifacts": true|false,
  "restrictions": {
    "maximumBuildsAllowed": integer,
    "computeTypesAllowed": ["string", ...],
    "fleetsAllowed": ["string", ...]
  },
  "timeoutInMins": integer,
  "batchReportMode": "REPORT_INDIVIDUAL_BUILDS"|"REPORT_AGGREGATED_BATCH"
}

--concurrent-build-limit (целое число)

Максимальное количество одновременных сборок, разрешённых для этого проекта.

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

Чтобы удалить это ограничение, установите это значение в -1.

--auto-retry-limit (целое число)

Максимальное количество дополнительных автоматических попыток повторного запуска после неудачной сборки. Например, если ограничение на автоматический повторный запуск установлено в 2, CodeBuild будет вызывать API RetryBuild, чтобы автоматически повторить вашу сборку до 2 дополнительных раз.

--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 (логическое)

Включает отладку.

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

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

--no-verify-ssl (логическое)

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

--no-paginate (логическое)

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

--output (строка)

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

  • json
  • текст
  • таблица
  • yaml
  • yaml-поток

--query (строка)

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

--profile (строка)

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

--region (строка)

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

--version (строка)

Вывести версию этого инструмента.

--color (строка)

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

  • включено
  • выключено
  • автоматически

--no-sign-request (логическое)

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

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

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

--cli-read-timeout (целое число)

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

--cli-connect-timeout (целое число)

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

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

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

  • base64
  • raw-in-base64-out

--no-cli-pager (логическое)

Отключить пейджер CLI для вывода.

--cli-auto-prompt (логическое)

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

--no-cli-auto-prompt (логическое)

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

Примеры

Примечание

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

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

Изменение настроек проекта сборки AWS CodeBuild.

В следующем update-project примере изменяются настройки указанного проекта сборки CodeBuild с именем my-demo-project.

aws codebuild update-project --name "my-demo-project" \
    --description "This project is updated" \
    --source "{\"type\": \"S3\",\"location\": \"codebuild-us-west-2-123456789012-input-bucket/my-source-2.zip\"}" \
    --artifacts {"\"type\": \"S3\",\"location\": \"codebuild-us-west-2-123456789012-output-bucket-2\""} \
    --environment "{\"type\": \"LINUX_CONTAINER\",\"image\": \"aws/codebuild/standard:1.0\",\"computeType\": \"BUILD_GENERAL1_MEDIUM\"}" \
    --service-role "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role"

Вывод отображает обновленные настройки.

{
    "project": {
        "arn": "arn:aws:codebuild:us-west-2:123456789012:project/my-demo-project",
        "environment": {
            "privilegedMode": false,
            "environmentVariables": [],
            "type": "LINUX_CONTAINER",
            "image": "aws/codebuild/standard:1.0",
            "computeType": "BUILD_GENERAL1_MEDIUM",
            "imagePullCredentialsType": "CODEBUILD"
        },
        "queuedTimeoutInMinutes": 480,
        "description": "This project is updated",
        "artifacts": {
            "packaging": "NONE",
            "name": "my-demo-project",
            "type": "S3",
            "namespaceType": "NONE",
            "encryptionDisabled": false,
            "location": "codebuild-us-west-2-123456789012-output-bucket-2"
        },
        "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3",
        "badge": {
            "badgeEnabled": false
        },
        "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role",
        "lastModified": 1556840545.967,
        "tags": [],
        "timeoutInMinutes": 60,
        "created": 1556839783.274,
        "name": "my-demo-project",
        "cache": {
            "type": "NO_CACHE"
        },
        "source": {
            "type": "S3",
            "insecureSsl": false,
            "location": "codebuild-us-west-2-123456789012-input-bucket/my-source-2.zip"
        }
    }
}

Дополнительную информацию см. в разделе Изменение настроек проекта сборки (AWS CLI) в Руководстве пользователя AWS CodeBuild

Вывод

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

Информация о проекте сборки, который был изменён.

name -> (строка)

Название проекта сборки.

arn -> (строка)

Amazon Resource Name (ARN) проекта сборки.

description -> (строка)

Описание, которое облегчает идентификацию проекта сборки.

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

Информация о входном источнике кода проекта сборки.

type -> (строка)

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

  • BITBUCKET : Исходный код находится в хранилище Bitbucket.
  • CODECOMMIT : Исходный код находится в хранилище CodeCommit.
  • CODEPIPELINE : Настройки исходного кода указаны в действии источника конвейера в CodePipeline.
  • GITHUB : Исходный код находится в хранилище GitHub.
  • GITHUB_ENTERPRISE : Исходный код находится в хранилище GitHub Enterprise Server.
  • GITLAB : Исходный код находится в хранилище GitLab.
  • GITLAB_SELF_MANAGED : Исходный код находится в самообслуживаемом хранилище GitLab.
  • NO_SOURCE : Проект не имеет входного исходного кода.
  • S3 : Исходный код находится в ведре Amazon S3.

location -> (строка)

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

  • Для настроек исходного кода, которые указаны в действии источника конвейера в CodePipeline, location не должно быть указано. Если оно указано, CodePipeline игнорирует его. Это происходит потому, что CodePipeline использует настройки в действии источника конвейера вместо этого значения.
  • Для исходного кода в хранилище CodeCommit, HTTPS-ссылка для клонирования хранилища, содержащего исходный код и файл buildspec (например, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name> ).
  • Для исходного кода во входном ведре Amazon S3, одно из следующих.
    • Путь к файлу ZIP, содержащему исходный код (например, <bucket-name>/<path>/<object-name>.zip ).
    • Путь к папке, содержащей исходный код (например, <bucket-name>/<path-to-source-code>/<folder>/ ).
  • Для исходного кода в хранилище GitHub, HTTPS-ссылка для клонирования хранилища, содержащего исходный и файл buildspec. Вам необходимо подключить вашу учётную запись Amazon Web Services к вашей учётной записи GitHub. Используйте консоль CodeBuild для начала создания проекта сборки. Когда вы используете консоль для подключения (или повторного подключения) к GitHub, на странице GitHub Авторизовать приложение, для Доступ к организации, выберите Запросить доступ рядом с каждым хранилищем, которое вы хотите разрешить CodeBuild иметь доступ, а затем выберите Авторизовать приложение. (После того, как вы подключитесь к своей учётной записи GitHub, вам не нужно завершать создание проекта сборки. Вы можете выйти из консоли CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source установите значение объекта auth type на значение OAUTH .
  • Для исходного кода в хранилище GitLab или самообслуживаемом хранилище GitLab, HTTPS-ссылка для клонирования хранилища, содержащего исходный и файл buildspec. Вам необходимо подключить вашу учётную запись Amazon Web Services к вашей учётной записи GitLab. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к GitLab, на странице Авторизовать приложение подключений, нажмите Авторизовать. Затем на странице CodeConnections Создать подключение GitLab нажмите Подключиться к GitLab. (После того, как вы подключитесь к своей учётной записи GitLab, вам не нужно завершать создание проекта сборки. Вы можете выйти из консоли CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта auth type на значение CODECONNECTIONS в объекте source.
  • Для исходного кода в хранилище Bitbucket, HTTPS-ссылка для клонирования хранилища, содержащего исходный и файл buildspec. Вам необходимо подключить вашу учётную запись Amazon Web Services к вашей учётной записи Bitbucket. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к Bitbucket, на странице Bitbucket Подтвердить доступ к вашей учётной записи, нажмите Предоставить доступ. (После того, как вы подключитесь к своей учётной записи Bitbucket, вам не нужно завершать создание проекта сборки. Вы можете выйти из консоли CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source установите значение объекта auth type на значение OAUTH .

Если вы укажете CODEPIPELINE для свойства Type , не указывайте это свойство. Для всех остальных типов, вы должны указать Location .

gitCloneDepth -> (целое число)

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

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

Информация о конфигурации Git-подмодулей для проекта сборки.

fetchSubmodules -> (булево)

Установите в значение true, чтобы получить Git-подмодули для вашего проекта сборки CodeBuild.

buildspec -> (строка)

Декларация файла buildspec, который следует использовать для сборок в этом проекте сборки.

Если это значение задано, оно может быть либо встроенным определением buildspec, путём к альтернативному файлу buildspec, относительно значения встроенной переменной среды CODEBUILD_SRC_DIR , либо путём к ведру S3. Ведро должно находиться в той же области Amazon Web Services, что и проект сборки. Укажите файл buildspec с помощью его ARN (например, arn:aws:s3:::my-codebuild-sample2/buildspec.yml ). Если это значение не предоставлено или установлено в пустую строку, исходный код должен содержать файл buildspec в корневой директории. Для получения дополнительной информации, см. Buildspec File Name and Storage Location .

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

Информация об настройках авторизации для CodeBuild для доступа к исходному коду, который должен быть собран.

type -> (строка)

Тип авторизации для использования. Допустимые значения: OAUTH, CODECONNECTIONS или SECRETS_MANAGER.

resource -> (строка)

Значение ресурса, которое применяется к указанному типу авторизации.

reportBuildStatus -> (булево)

Установите в значение true, чтобы сообщить о статусе начала и завершения сборки вашему поставщику исходного кода. Этот параметр действителен только в случае, если ваш поставщик исходного кода — GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, GitLab, GitLab Self Managed или Bitbucket. Если это значение установлено, а вы используете другого поставщика исходного кода, будет выброшено исключение invalidInputException.

Чтобы иметь возможность сообщить статус сборки поставщику исходного кода, пользователь, связанный с поставщиком исходного кода, должен иметь права записи в хранилище. Если у пользователя нет прав записи, статус сборки не может быть обновлён. Для получения дополнительной информации см. Доступ поставщика исходного кода в Руководстве пользователя CodeBuild.

Статус сборки, запущенной с помощью веб-хука, всегда сообщается вашему поставщику исходного кода.

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

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

Содержит информацию, определяющую, как проект сборки сообщает статус сборки поставщику исходного кода. Этот параметр используется только при использовании поставщика исходного кода GITHUB , GITHUB_ENTERPRISE или BITBUCKET .

context -> (строка)

Указывает контекст статуса сборки, который CodeBuild отправляет поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.

Bitbucket

Этот параметр используется для параметра name в статусе коммита Bitbucket. Для получения дополнительной информации см. build в документации API Bitbucket.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра context в статусе коммита GitHub. Для получения дополнительной информации см. Создание статуса коммита в руководстве разработчика GitHub.

targetUrl -> (строка)

Указывает целевой URL статуса сборки, который CodeBuild отправляет поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.

Bitbucket

Этот параметр используется для параметра url в статусе коммита Bitbucket. Для получения дополнительной информации см. build в документации API Bitbucket.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра target_url в статусе коммита GitHub. Для получения дополнительной информации см. Создание статуса коммита в руководстве разработчика GitHub.

insecureSsl -> (булево)

Включите этот флаг, чтобы игнорировать предупреждения SSL при подключении к исходному коду проекта.

sourceIdentifier -> (строка)

Идентификатор источника этого проекта. Идентификатор может содержать только буквенно-цифровые символы и символы нижнего подчёркивания, и должен иметь длину менее 128 символов.

secondarySources -> (список)

Массив объектов ProjectSource.

(структура)

Информация о коде исходного кода для проекта сборки.

тип -> (строка)

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

  • BITBUCKET : Исходный код находится в репозитории Bitbucket.
  • CODECOMMIT : Исходный код находится в репозитории CodeCommit.
  • CODEPIPELINE : Параметры исходного кода указаны в действии источника конвейера в CodePipeline.
  • GITHUB : Исходный код находится в репозитории GitHub.
  • GITHUB_ENTERPRISE : Исходный код находится в репозитории GitHub Enterprise Server.
  • GITLAB : Исходный код находится в репозитории GitLab.
  • GITLAB_SELF_MANAGED : Исходный код находится в управляемом пользователем репозитории GitLab.
  • NO_SOURCE : Проект не имеет исходного кода.
  • S3 : Исходный код находится в ведре Amazon S3.

местоположение -> (строка)

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

  • Для параметров исходного кода, указанных в действии источника конвейера в CodePipeline, location не следует указывать. Если он указан, CodePipeline его игнорирует. Это связано с тем, что CodePipeline использует параметры в действии источника конвейера вместо этого значения.
  • Для исходного кода в репозитории CodeCommit, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec (например, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name> ).
  • Для исходного кода в ведре ввода Amazon S3, одно из следующего.
    • Путь к файлу ZIP, содержащему исходный код (например, <bucket-name>/<path>/<object-name>.zip ).
    • Путь к папке, содержащей исходный код (например, <bucket-name>/<path-to-source-code>/<folder>/ ).
  • Для исходного кода в репозитории GitHub, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вы должны подключить свою учетную запись Amazon Web Services к вашей учетной записи GitHub. Используйте консоль CodeBuild для начала создания проекта сборки. Когда вы используете консоль для подключения (или повторного подключения) к GitHub, на странице GitHub Авторизовать приложение, для Доступа к организации выберите Запросить доступ рядом с каждым репозиторием, которому вы хотите предоставить CodeBuild доступ, а затем выберите Авторизовать приложение. (После подключения к вашей учетной записи GitHub вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source установите значение объекта auth в OAUTH.
  • Для исходного кода в репозитории GitLab или управляемом пользователем репозитории GitLab, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вы должны подключить свою учетную запись Amazon Web Services к вашей учетной записи GitLab. Используйте консоль CodeBuild для начала создания проекта сборки. Когда вы используете консоль для подключения (или повторного подключения) к GitLab, на странице подключений Авторизовать приложение выберите Авторизовать. Затем на странице CodeConnections Создать подключение GitLab выберите Подключиться к GitLab. (После подключения к вашей учетной записи GitLab вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта auth в CODECONNECTIONS в объекте source.
  • Для исходного кода в репозитории Bitbucket, HTTPS-ссылка для клонирования репозитория, содержащего исходный код и файл buildspec. Вы должны подключить свою учетную запись Amazon Web Services к вашей учетной записи Bitbucket. Используйте консоль CodeBuild для начала создания проекта сборки. Когда вы используете консоль для подключения (или повторного подключения) к Bitbucket, на странице Bitbucket Подтвердить доступ к вашей учетной записи выберите Предоставить доступ. (После подключения к вашей учетной записи Bitbucket вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте source установите значение объекта auth в OAUTH.

Если вы укажете CODEPIPELINE для свойства Type, не указывайте это свойство. Для всех остальных типов вы должны указать Location.

gitCloneDepth -> (целое число)

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

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

Информация о конфигурации Git подмодулей для проекта сборки.

fetchSubmodules -> (булево)

Установите в значение true, чтобы извлечь Git подмодули для вашего проекта сборки CodeBuild.

buildspec -> (строка)

Объявление файла buildspec, используемого для сборок в этом проекте сборки.

Если это значение установлено, оно может быть либо встроенным определением buildspec, путем к альтернативному файлу buildspec, относительно значения встроенной переменной окружения CODEBUILD_SRC_DIR, или путем к ведру S3. Ведро должно находиться в том же регионе Amazon Web Services, что и проект сборки. Укажите файл buildspec, используя его ARN (например, arn:aws:s3:::my-codebuild-sample2/buildspec.yml ). Если это значение не указано или установлено в пустую строку, исходный код должен содержать файл buildspec в корневой директории. Для получения дополнительной информации см. Имя и место хранения файла Buildspec .

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

Информация об настройках авторизации для CodeBuild для доступа к исходному коду, подлежащему сборке.

тип -> (строка)

Тип авторизации, который необходимо использовать. Допустимые варианты: OAUTH, CODECONNECTIONS или SECRETS_MANAGER.

ресурс -> (строка)

Значение ресурса, применимое к указанному типу авторизации.

reportBuildStatus -> (булево)

Установите в значение true, чтобы сообщать состояние начала и завершения сборки вашему поставщику источника. Этот параметр действителен только при использовании поставщика источника GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, GitLab, GitLab Self Managed или Bitbucket. Если это значение установлено и вы используете другого поставщика источника, будет выброшено исключение invalidInputException.

Чтобы иметь возможность сообщать состояние сборки поставщику источника, пользователь, связанный с поставщиком источника, должен иметь права записи в репозитории. Если у пользователя нет прав записи, состояние сборки не может быть обновлено. Для получения дополнительной информации см. Доступ к поставщику источника в руководстве пользователя CodeBuild .

Состояние сборки, запущенной с помощью веб-хука, всегда сообщается поставщику источника.

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

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

Содержит информацию, определяющую, как проект сборки сообщает состояние сборки поставщику источника. Этот параметр используется только в случае, если поставщик источника является GITHUB , GITHUB_ENTERPRISE или BITBUCKET.

контекст -> (строка)

Указывает контекст состояния сборки, который CodeBuild отправляет поставщику источника. Использование этого параметра зависит от поставщика источника.

Bitbucket

Этот параметр используется для параметра name в состоянии коммита Bitbucket. Дополнительную информацию см. в документации API Bitbucket по сборке.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра context в состоянии коммита GitHub. Дополнительную информацию см. в руководстве разработчика GitHub по созданию состояния коммита.

targetUrl -> (строка)

Указывает целевой URL состояния сборки, который CodeBuild отправляет поставщику источника. Использование этого параметра зависит от поставщика источника.

Bitbucket

Этот параметр используется для параметра url в состоянии коммита Bitbucket. Дополнительную информацию см. в документации API Bitbucket по сборке.

GitHub/GitHub Enterprise Server

Этот параметр используется для параметра target_url в состоянии коммита GitHub. Дополнительную информацию см. в руководстве разработчика GitHub по созданию состояния коммита.

insecureSsl -> (булево)

Включите этот флаг, чтобы игнорировать предупреждения SSL при подключении к исходному коду проекта.

sourceIdentifier -> (строка)

Идентификатор источника этого проекта. Идентификатор может содержать только буквенно-цифровые символы и символы подчеркивания и должен быть меньше 128 символов в длину.

sourceVersion -> (строка)

Версия ввода сборки, подлежащая сборке для этого проекта. Если не указано, используется последняя версия. Если указано, она должна быть одной из:

  • Для CodeCommit: идентификатор коммита, ветвь или Git тег для использования.
  • Для GitHub: идентификатор коммита, идентификатор запроса на вытягивание, имя ветви или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указан идентификатор запроса на вытягивание, он должен использовать формат pr/pull-request-ID (например, pr/25 ). Если указано имя ветви, используется идентификатор коммита HEAD ветви. Если не указано, используется идентификатор коммита HEAD основной ветви.
  • Для GitLab: идентификатор коммита, ветвь или Git тег для использования.
  • Для Bitbucket: идентификатор коммита, имя ветви или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указано имя ветви, используется идентификатор коммита HEAD ветви. Если не указано, используется идентификатор коммита HEAD основной ветви.
  • Для Amazon S3: идентификатор версии объекта, представляющего файл ZIP ввода сборки для использования.

Если sourceVersion указан на уровне сборки, то эта версия имеет приоритет над sourceVersion (на уровне проекта).

Дополнительную информацию см. в примере версии источника с CodeBuild в руководстве пользователя CodeBuild .

secondarySourceVersions -> (список)

Массив объектов ProjectSourceVersion. Если secondarySourceVersions указано на уровне сборки, то они переопределяют эти secondarySourceVersions (на уровне проекта).

(структура)

Идентификатор источника и соответствующая ему версия.

sourceIdentifier -> (строка)

Идентификатор источника в проекте сборки. Идентификатор может содержать только буквенно-цифровые символы и символы подчеркивания, и должен быть меньше 128 символов в длину.

sourceVersion -> (строка)

Версия источника для соответствующего идентификатора источника. Если указано, должно быть одним из:

  • Для CodeCommit: идентификатор коммита, ветка или Git тег для использования.
  • Для GitHub: идентификатор коммита, идентификатор запроса на вытягивание, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указан идентификатор запроса на вытягивание, он должен использовать формат pr/pull-request-ID (например, pr/25 ). Если указано имя ветки, используется идентификатор коммита HEAD этой ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию.
  • Для GitLab: идентификатор коммита, ветка или Git тег для использования.
  • Для Bitbucket: идентификатор коммита, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указано имя ветки, используется идентификатор коммита HEAD этой ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию.
  • Для Amazon S3: идентификатор версии объекта, представляющего ZIP-файл ввода для сборки.

Дополнительную информацию см. в примере версии источника с CodeBuild в руководстве пользователя CodeBuild.

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

Информация об артефактах выходных данных сборки для проекта сборки.

type -> (строка)

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

  • CODEPIPELINE : Проект сборки генерирует выходные данные через CodePipeline.

Примечание

Тип CODEPIPELINE не поддерживается для secondaryArtifacts.
  • NO_ARTIFACTS : Проект сборки не генерирует выходные данные.
  • S3 : Проект сборки сохраняет выходные данные сборки в Amazon S3.

location -> (строка)

Информация о расположении артефакта выходных данных сборки:

  • Если type установлено в CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет расположением выходных данных сборки вместо CodeBuild.
  • Если type установлено в NO_ARTIFACTS , это значение игнорируется, если оно указано, поскольку выходных данных сборки нет.
  • Если type установлено в S3 , это имя выходного ведра.

path -> (строка)

Вместе с namespaceType и name шаблон, который CodeBuild использует для именования и хранения артефакта выходных данных:

  • Если type установлено в CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет именами выходных данных сборки вместо CodeBuild.
  • Если type установлено в NO_ARTIFACTS , это значение игнорируется, если оно указано, так как выходных данных сборки нет.
  • Если type установлено в S3 , это путь к артефакту выходных данных. Если path не указано, path не используется.

Например, если path установлено в MyArtifacts , namespaceType установлено в NONE , и name установлено в MyArtifact.zip , артефакт выходных данных хранится в ведре вывода по адресу MyArtifacts/MyArtifact.zip .

namespaceType -> (строка)

Вместе с path и name шаблон, который CodeBuild использует для определения имени и расположения для хранения артефакта выходных данных:

  • Если type установлено в CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет именами выходных данных сборки вместо CodeBuild.
  • Если type установлено в NO_ARTIFACTS , это значение игнорируется, если оно указано, так как выходных данных сборки нет.
  • Если type установлено в S3 , допустимые значения включают:
    • BUILD_ID : Включить идентификатор сборки в расположении артефакта выходных данных сборки.
    • NONE : Не включать идентификатор сборки. Это значение по умолчанию, если namespaceType не указано.

Например, если path установлено в MyArtifacts , namespaceType установлено в BUILD_ID , и name установлено в MyArtifact.zip , артефакт выходных данных хранится в MyArtifacts/<build-ID>/MyArtifact.zip .

name -> (строка)

Вместе с path и namespaceType шаблон, который CodeBuild использует для именования и хранения артефакта выходных данных:

  • Если type установлено в CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет именами выходных данных сборки вместо CodeBuild.
  • Если type установлено в NO_ARTIFACTS , это значение игнорируется, если оно указано, поскольку выходных данных сборки нет.
  • Если type установлено в S3 , это имя объекта артефакта выходных данных. Если вы установите имя равным косой черте (“/”), артефакт сохраняется в корневом каталоге выходного ведра.

Например:

  • Если path установлено в MyArtifacts , namespaceType установлено в BUILD_ID , и name установлено в MyArtifact.zip , артефакт выходных данных хранится в MyArtifacts/<build-ID>/MyArtifact.zip .
  • Если path пусто, namespaceType установлено в NONE , и name установлено в “/ “, артефакт выходных данных хранится в корневом каталоге выходного ведра.
  • Если path установлено в MyArtifacts , namespaceType установлено в BUILD_ID , и name установлено в “/ “, артефакт выходных данных хранится в MyArtifacts/<build-ID> .

packaging -> (строка)

Тип артефакта выходных данных сборки для создания:

  • Если type установлено в CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет артефактами выходных данных сборки вместо CodeBuild.
  • Если type установлено в NO_ARTIFACTS , это значение игнорируется, поскольку выходных данных сборки нет.
  • Если type установлено в S3 , допустимые значения включают:
    • NONE : CodeBuild создает папку в выходном ведре, которая содержит выходные данные сборки. Это значение по умолчанию, если packaging не указано.
    • ZIP : CodeBuild создает ZIP-файл в выходном ведре, который содержит выходные данные сборки.

overrideArtifactName -> (логическое значение)

Если этот флаг установлен, имя, указанное в файле buildspec, переопределяет имя артефакта. Имя, указанное в файле buildspec, рассчитывается во время сборки и использует Shell Command Language. Например, вы можете добавить дату и время к имени артефакта, чтобы оно всегда было уникальным.

encryptionDisabled -> (логическое значение)

Устанавливается в значение true, если вы не хотите шифровать артефакты вывода. Этот параметр действителен только если тип ваших артефактов — Amazon S3. Если он установлен с другим типом артефактов, генерируется исключение invalidInputException.

artifactIdentifier -> (строка)

Идентификатор этого определения артефакта.

bucketOwnerAccess -> (строка)

Указывает доступ владельца ведра для объектов, которые загружает другой аккаунт в ведро Amazon S3 этого аккаунта. По умолчанию только аккаунт, который загружает объекты в ведро, имеет доступ к этим объектам. Этот параметр позволяет предоставить владельцу ведра доступ к этим объектам.

Примечание

Для использования этого параметра ваша роль сервиса CodeBuild должна иметь разрешение s3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.

Этот параметр может принимать следующие значения:

NONE

Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.

READ_ONLY

Владелец ведра имеет доступ только для чтения к объектам. Загружающий аккаунт сохраняет владение объектами.

FULL

Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:

  • Если ведро настроено с параметром Bucket owner preferred, владелец ведра владеет объектами. Загружающий аккаунт будет иметь доступ к объектам, как указано в политике ведра.
  • В противном случае загружающий аккаунт сохраняет владение объектами.

Дополнительную информацию об владении объектами Amazon S3 см. в разделе «Управление владением загруженными объектами с помощью S3 Object Ownership» в руководстве пользователя Amazon Simple Storage Service.

secondaryArtifacts -> (список)

Массив объектов ProjectArtifacts.

(структура)

Информация о результатах сборки для проекта сборки.

тип -> (строка)

Тип результата сборки. Допустимые значения:

  • CODEPIPELINE : Проект сборки сгенерировал результаты сборки через CodePipeline.

Примечание

Тип CODEPIPELINE не поддерживается для secondaryArtifacts .
  • NO_ARTIFACTS : Проект сборки не генерирует результаты сборки.
  • S3 : Проект сборки хранит результаты сборки в Amazon S3.

местоположение -> (строка)

Информация о местоположении результатов сборки:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет местоположениями результатов сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, если оно указано, так как результаты сборки не генерируются.
  • Если type установлено в значение S3 , это имя выходного ведра.

путь -> (строка)

Вместе с namespaceType и name, шаблон, который CodeBuild использует для именования и хранения артефакта выходных данных:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет именами результатов сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, так как результаты сборки не генерируются.
  • Если type установлено в значение S3 , это путь к артефакту выходных данных. Если path не указано, path не используется.

Например, если path установлено в значение MyArtifacts, namespaceType установлено в значение NONE, и name установлено в значение MyArtifact.zip, артефакт выходных данных хранится в выходном ведре по адресу MyArtifacts/MyArtifact.zip.

namespaceType -> (строка)

Вместе с path и name, шаблон, который CodeBuild использует для определения имени и местоположения для хранения артефакта выходных данных:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет именами результатов сборки вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS , это значение игнорируется, так как результаты сборки не генерируются.
  • Если type установлено в значение S3 , допустимые значения включают:
    • BUILD_ID : Включать ID сборки в местоположение артефакта результатов сборки.
    • NONE : Не включать ID сборки. Это значение по умолчанию, если namespaceType не указано.

Например, если path установлено в значение MyArtifacts, namespaceType установлено в значение BUILD_ID, и name установлено в значение MyArtifact.zip, артефакт выходных данных хранится в MyArtifacts/<build-ID>/MyArtifact.zip.

имя -> (строка)

Вместе с path и namespaceType, шаблон, который CodeBuild использует для именования и хранения артефакта выходных данных:

  • Если type установлено в значение CODEPIPELINE , CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет именами результатов сборки вместо CodeBuild.
  • Если NO_ARTIFACTS установлено в значение NO_ARTIFACTS , это значение игнорируется, так как результаты сборки не генерируются.
  • Если type установлено в значение S3 , это имя объекта артефакта выходных данных. Если вы установите имя в обратный слэш (“/”), артефакт хранится в корневом каталоге выходного ведра.

Например:

  • Если path установлено в значение MyArtifacts, namespaceType установлено в значение BUILD_ID, и name установлено в значение MyArtifact.zip, то артефакт выходных данных хранится в MyArtifacts/<build-ID>/MyArtifact.zip.
  • Если path пустое, namespaceType установлено в значение NONE, и name установлено в “/”, артефакт выходных данных хранится в корневом каталоге выходного ведра.
  • Если path установлено в значение MyArtifacts, namespaceType установлено в значение BUILD_ID, и name установлено в “/”, артефакт выходных данных хранится в MyArtifacts/<build-ID>.

упаковка -> (строка)

Тип артефакта выходных данных для создания:

  • Если type установлено в значение CODEPIPELINE, CodePipeline игнорирует это значение, если оно указано. Это связано с тем, что CodePipeline управляет артефактами выходных данных вместо CodeBuild.
  • Если type установлено в значение NO_ARTIFACTS, это значение игнорируется, так как результаты сборки не генерируются.
  • Если type установлено в значение S3, допустимые значения включают:
    • NONE : CodeBuild создает в выходном ведре папку, содержащую результаты сборки. Это значение по умолчанию, если packaging не указано.
    • ZIP : CodeBuild создает в выходном ведре ZIP-файл, содержащий результаты сборки.

переопределитьИмяАртефакта -> (булево)

Если этот флаг установлен, имя, указанное в файле buildspec, переопределяет имя артефакта. Имя, указанное в файле buildspec, вычисляется во время сборки и использует язык командной оболочки. Например, вы можете добавить дату и время к имени артефакта, чтобы оно всегда было уникальным.

отключеноШифрование -> (булево)

Установите в значение true, если вы не хотите шифровать артефакты выходных данных. Этот параметр действителен только если тип артефактов — Amazon S3. Если этот параметр установлен с другим типом артефактов, будет выброшено исключение invalidInputException.

идентификаторАртефакта -> (строка)

Идентификатор для этого определения артефакта.

доступВладельцаВедра -> (строка)

Определяет доступ владельца ведра для объектов, которые другое облако загружает в их ведро Amazon S3. По умолчанию доступ к этим объектам имеет только облако, которое загружает объекты в ведро. Этот параметр позволяет предоставить доступ владельцу ведра к этим объектам.

Примечание

Для использования этого параметра ваша роль службы CodeBuild должна иметь разрешение s3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.

Этот параметр может принимать одно из следующих значений:

NONE

Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.

READ_ONLY

Владелец ведра имеет доступ только для чтения к объектам. Облако, производящее загрузку, сохраняет право собственности на объекты.

FULL

Владелец ведра имеет полный доступ к объектам. Владение объектом определяется следующими критериями:

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

Дополнительную информацию о владении объектами Amazon S3 см. в разделе Управление владением загруженными объектами с помощью S3 Object Ownership в Руководстве пользователя Amazon Simple Storage Service.

кеш -> (структура)

Информация о кэше для проекта сборки.

тип -> (строка)

Тип кэша, используемого проектом сборки. Допустимые значения:

  • NO_CACHE : Проект сборки не использует кэш.
  • S3 : Проект сборки считывает и записывает данные в S3.
  • LOCAL : Проект сборки сохраняет кэш локально на хосте сборки, доступном только этому хосту.

местоположение -> (строка)

Информация о местоположении кэша:

  • NO_CACHE или LOCAL : Это значение игнорируется.
  • S3 : Это имя ведра/префикс S3.

режимы -> (список)

Массив строк, определяющих локальные режимы кэша. Вы можете использовать один или несколько локальных режимов кэша одновременно. Это используется только для кэшей типа LOCAL.

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

LOCAL_SOURCE_CACHE

Кэширует метаданные Git для первичных и вторичных источников. После создания кэша последующие сборки извлекают только изменения между коммитами. Этот режим подходит для проектов с чистым рабочим каталогом и источником, являющимся большим репозиторием Git. Если вы выбрали этот вариант, а ваш проект не использует Git-репозиторий (GitHub, GitHub Enterprise или Bitbucket), этот вариант игнорируется.

LOCAL_DOCKER_LAYER_CACHE

Кэширует существующие слои Docker. Этот режим подходит для проектов, которые собирают или извлекают большие Docker-изображения. Он может предотвратить проблемы с производительностью, вызванные загрузкой больших Docker-изображений из сети.

Примечание

  • Вы можете использовать кэш слоев Docker только в среде Linux.
  • Флаг privileged должен быть установлен, чтобы ваш проект имел необходимые разрешения Docker.
  • Вы должны учитывать последствия для безопасности перед использованием кэша слоев Docker.

LOCAL_CUSTOM_CACHE

Кэширует каталоги, которые вы указываете в файле buildspec. Этот режим подходит, если сценарий вашей сборки не подходит для одного из трех других локальных режимов кэша. Если вы используете кэш пользовательского типа:

  • Можно указывать только каталоги для кэширования. Отдельные файлы указывать нельзя.
  • Используются символические ссылки для ссылки на кэшированные каталоги.
  • Кэшированные каталоги подключаются к вашей сборке до загрузки исходных данных проекта. Кэшированные элементы переопределяются, если элемент источника имеет то же имя. Каталоги указываются с помощью путей кэша в файле buildspec.

(строка)

cacheNamespace -> (строка)

Определяет область кэша. Вы можете использовать этот namespace для совместного использования кэша между несколькими проектами. Дополнительную информацию см. в разделе Shared caching between projects в Руководстве пользователя CodeBuild.

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

Информация о среде сборки для этого проекта сборки.

type -> (строка)

Тип среды сборки, используемой для связанных сборок.

Примечание

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

Дополнительную информацию см. в разделе Типы вычислительных ресурсов среды сборки в руководстве пользователя CodeBuild.

image -> (строка)

Тег изображения или дайджест изображения, определяющий Docker-образ, который нужно использовать для этого проекта сборки. Используйте следующие форматы:

  • Для тега изображения: <registry>/<repository>:<tag> . Например, в репозитории Docker, который CodeBuild использует для управления своими Docker-образами, это будет aws/codebuild/standard:4.0 .
  • Для дайджеста изображения: <registry>/<repository>@<digest> . Например, для указания изображения с дайджестом «sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf», используйте <registry>/<repository>@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf .

Дополнительную информацию см. в разделе Docker-образы, предоставляемые CodeBuild, в руководстве пользователя CodeBuild.

computeType -> (строка)

Информация о вычислительных ресурсах, используемых проектом сборки. Доступные значения включают:

  • ATTRIBUTE_BASED_COMPUTE : Укажите количество vCPU, памяти, дискового пространства и тип машины.

Примечание

Если вы используете ATTRIBUTE_BASED_COMPUTE , вы должны определить свои атрибуты, используя computeConfiguration . CodeBuild выберет самый дешевый экземпляр, удовлетворяющий вашим указанным атрибутам. Дополнительную информацию см. в разделе Типы сред резервируемой емкости в руководстве пользователя CodeBuild.
  • BUILD_GENERAL1_SMALL : Использует до 4 ГБ памяти и 2 vCPU для сборок.
  • BUILD_GENERAL1_MEDIUM : Использует до 8 ГБ памяти и 4 vCPU для сборок.
  • BUILD_GENERAL1_LARGE : Использует до 16 ГБ памяти и 8 vCPU для сборок, в зависимости от типа среды.
  • BUILD_GENERAL1_XLARGE : Использует до 72 ГБ памяти и 36 vCPU для сборок, в зависимости от типа среды.
  • BUILD_GENERAL1_2XLARGE : Использует до 144 ГБ памяти, 72 vCPU и 824 ГБ SSD-хранилища для сборок. Этот тип вычислительных ресурсов поддерживает Docker-образы объемом до 100 ГБ нескомпрессированных данных.
  • BUILD_LAMBDA_1GB : Использует до 1 ГБ памяти для сборок. Доступен только для типа среды LINUX_LAMBDA_CONTAINER и LINUX_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_2GB : Использует до 2 ГБ памяти для сборок. Доступен только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_4GB : Использует до 4 ГБ памяти для сборок. Доступен только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_8GB : Использует до 8 ГБ памяти для сборок. Доступен только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .
  • BUILD_LAMBDA_10GB : Использует до 10 ГБ памяти для сборок. Доступен только для типа среды LINUX_LAMBDA_CONTAINER и ARM_LAMBDA_CONTAINER .

Если вы используете BUILD_GENERAL1_SMALL :

  • Для типа среды LINUX_CONTAINER можно использовать до 4 ГБ памяти и 2 vCPU для сборок.
  • Для типа среды LINUX_GPU_CONTAINER можно использовать до 16 ГБ памяти, 4 vCPU и 1 NVIDIA A10G Tensor Core GPU для сборок.
  • Для типа среды ARM_CONTAINER можно использовать до 4 ГБ памяти и 2 vCPU на процессорах ARM для сборок.

Если вы используете BUILD_GENERAL1_LARGE :

  • Для типа среды LINUX_CONTAINER можно использовать до 16 ГБ памяти и 8 vCPU для сборок.
  • Для типа среды LINUX_GPU_CONTAINER можно использовать до 255 ГБ памяти, 32 vCPU и 4 NVIDIA Tesla V100 GPU для сборок.
  • Для типа среды ARM_CONTAINER можно использовать до 16 ГБ памяти и 8 vCPU на процессорах ARM для сборок.

Дополнительную информацию см. в разделе Типы сред по требованию в руководстве пользователя CodeBuild.

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

Конфигурация вычислительных ресурсов проекта сборки. Это требуется только в том случае, если computeType установлено в ATTRIBUTE_BASED_COMPUTE .

vCpu -> (целое число)

Количество vCPU типа экземпляра, включенного в ваш флот.

memory -> (целое число)

Объем памяти типа экземпляра, включенного в ваш флот.

disk -> (целое число)

Объем дискового пространства типа экземпляра, включенного в ваш флот.

machineType -> (строка)

Тип машины типа экземпляра, включенного в ваш флот.

instanceType -> (строка)

Тип экземпляра EC2, который будет запущен в вашем флоте.

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

Объект ProjectFleet, используемый для этого проекта сборки.

fleetArn -> (строка)

Указывает ARN вычислительного флота для проекта сборки.

environmentVariables -> (список)

Набор переменных среды, доступных для сборок в этом проекте сборки.

(структура)

Информация о переменной среды для проекта сборки или сборки.

name -> (строка)

Имя или ключ переменной среды.

value -> (строка)

Значение переменной среды.

Предупреждение

Мы настоятельно не рекомендуем использовать переменные среды PLAINTEXT для хранения конфиденциальных значений, особенно идентификаторов секретных ключей Amazon Web Services. Переменные среды PLAINTEXT могут отображаться в виде простого текста с помощью консоли CodeBuild и командной строки. Для конфиденциальных значений мы рекомендуем использовать переменную среды типа PARAMETER_STORE или SECRETS_MANAGER .

type -> (строка)

Тип переменной среды. Допустимые значения включают:

  • PARAMETER_STORE : Переменная среды, хранящаяся в хранилище параметров Systems Manager. Для переменных среды этого типа укажите имя параметра в качестве value переменной EnvironmentVariable. Значение параметра будет подставлено во время выполнения. Вы также можете определить переменные среды хранилища параметров в buildspec. Чтобы узнать, как это сделать, см. env/parameter-store в руководстве пользователя CodeBuild.
  • PLAINTEXT : Переменная среды в формате простого текста. Это значение по умолчанию.
  • SECRETS_MANAGER : Переменная среды, хранящаяся в Secrets Manager. Для переменных среды этого типа укажите имя секрета в качестве value переменной EnvironmentVariable. Значение секрета будет подставлено во время выполнения. Вы также можете определить переменные среды Secrets Manager в buildspec. Чтобы узнать, как это сделать, см. env/secrets-manager в руководстве пользователя CodeBuild.

privilegedMode -> (булево)

Включает запуск Docker-демонов внутри Docker-контейнера. Устанавливается в значение true только в том случае, если проект сборки используется для создания Docker-образов. В противном случае сборка, пытающаяся взаимодействовать с Docker-демоном, завершается сбоем. Значение по умолчанию — false .

Вы можете инициализировать Docker-демон во время фазы установки вашей сборки, добавив один из следующих наборов команд в фазу установки файла buildspec:

Если базовым образом операционной системы является Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"

Если базовым образом операционной системы является Alpine Linux и предыдущая команда не работает, добавьте аргумент -t к timeout :

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"

certificate -> (строка)

ARN корзины Amazon S3, префикса пути и имени объекта, содержащего PEM-закодированный сертификат для проекта сборки. Дополнительную информацию см. в разделе certificate в руководстве пользователя CodeBuild.

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

Учетные данные для доступа к частному репозиторию.

credential -> (строка)

Amazon Resource Name (ARN) или имя учетных данных, созданных с помощью Secrets Manager.

Примечание

credential может использовать имя учетных данных только в том случае, если они существуют в вашем текущем регионе Amazon Web Services.

credentialProvider -> (строка)

Сервис, создавший учетные данные для доступа к частному Docker-репозиторию. Допустимое значение, SECRETS_MANAGER, предназначено для Secrets Manager.

imagePullCredentialsType -> (строка)

Тип учетных данных, используемых CodeBuild для извлечения изображений в вашей сборке. Существует два допустимых значения:

  • CODEBUILD указывает, что CodeBuild использует свои собственные учетные данные. Это требует изменения политики вашего репозитория ECR для доверия к принципалу службы CodeBuild.
  • SERVICE_ROLE указывает, что CodeBuild использует роль службы вашего проекта сборки.

При использовании изображения из другого аккаунта или частного репозитория необходимо использовать учетные данные SERVICE_ROLE. При использовании предварительно подготовленного CodeBuild образа необходимо использовать учетные данные CODEBUILD.

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

Объект DockerServer, используемый для этого проекта сборки.

computeType -> (строка)

Информация о вычислительных ресурсах, используемых docker-сервером. Доступные значения включают:

  • BUILD_GENERAL1_SMALL : Использует до 4 ГБ памяти и 2 vCPU для вашего docker-сервера.
  • BUILD_GENERAL1_MEDIUM : Использует до 8 ГБ памяти и 4 vCPU для вашего docker-сервера.
  • BUILD_GENERAL1_LARGE : Использует до 16 ГБ памяти и 8 vCPU для вашего docker-сервера.
  • BUILD_GENERAL1_XLARGE : Использует до 64 ГБ памяти и 32 vCPU для вашего docker-сервера.
  • BUILD_GENERAL1_2XLARGE : Использует до 128 ГБ памяти и 64 vCPU для вашего docker-сервера.

securityGroupIds -> (список)

Список одного или нескольких идентификаторов групп безопасности.

Примечание

Группы безопасности, настроенные для docker-серверов, должны допускать входящий сетевой трафик из VPC, настроенного в проекте. Они должны разрешать входящий трафик по порту 9876.

(строка)

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

Объект DockerServerStatus, используемый для этого docker-сервера.

status -> (строка)

Статус docker-сервера.

message -> (строка)

Сообщение, связанное со статусом docker-сервера.

serviceRole -> (строка)

ARN роли IAM, которая позволяет CodeBuild взаимодействовать с зависимыми службами Amazon Web Services от имени учетной записи Amazon Web Services.

timeoutInMinutes -> (целое число)

Сколько времени, в минутах, от 5 до 2160 (36 часов), CodeBuild должен ждать, прежде чем прервать любую связанную сборку, которая не была отмечена как завершенная. По умолчанию — 60 минут.

queuedTimeoutInMinutes -> (целое число)

Количество минут, в течение которого сборка может находиться в очереди, прежде чем будет прервана.

encryptionKey -> (строка)

Ключ KMS, управляемый клиентом (CMK), который будет использоваться для шифрования артефактов сборки.

Примечание

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

Вы можете указать либо имя ресурса Amazon (ARN) CMK, либо, если доступно, псевдоним CMK (в формате alias/<alias-name> ). Если вы не укажете значение, CodeBuild будет использовать управляемый CMK для Amazon Simple Storage Service (Amazon S3).

теги -> (список)

Список пар ключ-значение тегов, связанных с этим проектом сборки.

Эти теги доступны для использования сервисами Amazon Web Services, которые поддерживают теги проектов сборки CodeBuild.

(структура)

Тег, состоящий из ключа и значения.

Этот тег доступен для использования сервисами Amazon Web Services, которые поддерживают теги в CodeBuild.

ключ -> (строка)

Ключ тега.

значение -> (строка)

Значение тега.

created -> (timestamp)

Когда проект сборки был создан, выражено в формате времени Unix.

lastModified -> (timestamp)

Когда настройки проекта сборки были изменены в последний раз, выражено в формате времени Unix.

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

Информация о веб-перехватчике, который соединяет события репозитория с проектом сборки в CodeBuild.

url -> (строка)

URL-адрес веб-перехватчика.

payloadUrl -> (строка)

Конечная точка CodeBuild, куда отправляются события веб-перехватчика.

secret -> (строка)

Секретный токен связанного репозитория.

Примечание

Веб-перехватчик Bitbucket не поддерживает secret .

branchFilter -> (строка)

Регулярное выражение, используемое для определения того, какие ветки репозитория собираются при срабатывании веб-перехватчика. Если имя ветки соответствует регулярному выражению, то она собирается. Если branchFilter пусто, то собираются все ветки.

Примечание

Рекомендуется использовать filterGroups вместо branchFilter .

filterGroups -> (список)

Массив массивов объектов WebhookFilter, используемых для определения того, какие вебхуки срабатывают. По крайней мере, один WebhookFilter в массиве должен указывать EVENT как свой type .

Чтобы сборка была запущена, должна пройти как минимум одна группа фильтров в массиве filterGroups . Чтобы группа фильтров прошла, каждый из ее фильтров должен пройти.

(список)

(структура)

Фильтр, используемый для определения того, какие веб-перехватчики запускают сборку.

type -> (строка)

Тип фильтра веб-перехватчика. Существует 11 типов фильтров веб-перехватчиков: EVENT , ACTOR_ACCOUNT_ID , HEAD_REF , BASE_REF , FILE_PATH , COMMIT_MESSAGE , TAG_NAME , RELEASE_NAME , REPOSITORY_NAME , ORGANIZATION_NAME и WORKFLOW_NAME .

  • СОБЫТИЕ

    • Веб-перехватчик запускает сборку, когда предоставленный pattern соответствует одному из девяти типов событий: PUSH , PULL_REQUEST_CREATED , PULL_REQUEST_UPDATED , PULL_REQUEST_CLOSED , PULL_REQUEST_REOPENED , PULL_REQUEST_MERGED , RELEASED , PRERELEASED и WORKFLOW_JOB_QUEUED . Шаблоны EVENT указаны в виде строки, разделенной запятыми. Например, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED фильтрует все события push, pull request created и pull request updated.

    Примечание

    Типы PULL_REQUEST_REOPENED и WORKFLOW_JOB_QUEUED работают только с GitHub и GitHub Enterprise. Типы RELEASED и PRERELEASED работают только с GitHub.

  • ACTOR_ACCOUNT_ID

    • Веб-перехватчик запускает сборку, когда идентификатор учетной записи GitHub, GitHub Enterprise или Bitbucket соответствует регулярному выражению pattern .
  • HEAD_REF

    • Веб-перехватчик запускает сборку, когда ссылка заголовка соответствует регулярному выражению pattern . Например, refs/heads/branch-name и refs/tags/tag-name .

    Примечание

    Работает с событиями push GitHub и GitHub Enterprise, pull request GitHub и GitHub Enterprise, push Bitbucket и pull request Bitbucket.

  • BASE_REF

    • Веб-перехватчик запускает сборку, когда базовая ссылка соответствует регулярному выражению pattern . Например, refs/heads/branch-name .

    Примечание

    Работает только с событиями pull request.

  • FILE_PATH

    • Веб-перехватчик запускает сборку, когда путь измененного файла соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями push и pull request.

  • COMMIT_MESSAGE

    • Веб-перехватчик запускает сборку, когда сообщение фиксации заголовка соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями push и pull request.

  • TAG_NAME

    • Веб-перехватчик запускает сборку, когда имя тега релиза соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями RELEASED и PRERELEASED .

  • RELEASE_NAME

    • Веб-перехватчик запускает сборку, когда имя релиза соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями RELEASED и PRERELEASED .

  • REPOSITORY_NAME

    • Веб-перехватчик запускает сборку, когда имя репозитория соответствует регулярному выражению pattern .

    Примечание

    Работает только с глобальными или организационными веб-перехватчиками GitHub.

  • ORGANIZATION_NAME

    • Веб-перехватчик запускает сборку, когда имя организации соответствует регулярному выражению pattern .

    Примечание

    Работает только с глобальными веб-перехватчиками GitHub.

  • WORKFLOW_NAME

    • Веб-перехватчик запускает сборку, когда имя рабочего процесса соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями WORKFLOW_JOB_QUEUED .

    Примечание

    Для сборок, размещенных в CodeBuild, фильтры WORKFLOW_NAME будут фильтровать по имени конвейера.

pattern -> (строка)

Для WebHookFilter , который использует тип EVENT , строка, разделенная запятыми, которая указывает одно или несколько событий. Например, фильтр веб-перехватчика PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED позволяет всем событиям push, pull request created и pull request updated запускать сборку.

Для WebHookFilter , который использует любой из других типов фильтров, шаблон регулярного выражения. Например, WebHookFilter , который использует HEAD_REF для своего type и шаблон ^refs/heads/ запускает сборку, когда ссылка заголовка является веткой с именем ссылки refs/heads/branch-name .

excludeMatchedPattern -> (boolean)

Используется для указания того, что pattern определяет, какие события веб-перехватчика не запускают сборку. Если true, то событие веб-перехватчика, которое не соответствует pattern, запускает сборку. Если false, то событие веб-перехватчика, которое соответствует pattern, запускает сборку.

buildType -> (строка)

Указывает тип сборки, который запустит этот веб-перехватчик.

Примечание

RUNNER_BUILDKITE_BUILD доступен только для проектов типа источника NO_SOURCE , настроенных для сборок Buildkite runner. Для получения дополнительной информации о сборках CodeBuild, размещенных в Buildkite runner, см. раздел Руководство: Настройка CodeBuild-hosted Buildkite runner в Руководстве пользователя CodeBuild .

manualCreation -> (boolean)

Если manualCreation имеет значение true, CodeBuild не создает веб-перехватчик в GitHub, а вместо этого возвращает значения payloadUrl и secret для веб-перехватчика. Значения payloadUrl и secret в выходных данных можно использовать для ручного создания веб-перехватчика в GitHub.

Примечание

manualCreation доступно только для веб-перехватчиков GitHub.

lastModifiedSecret -> (timestamp)

Метка времени, указывающая последнее время изменения секретного токена репозитория.

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

Конфигурация области для глобальных или организационных веб-перехватчиков.

Примечание

Глобальные или организационные веб-перехватчики доступны только для веб-перехватчиков GitHub и Github Enterprise.

name -> (строка)

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

domain -> (строка)

Домен организации GitHub Enterprise или группы GitLab Self Managed. Обратите внимание, что этот параметр требуется только в том случае, если тип источника вашего проекта — GITHUB_ENTERPRISE или GITLAB_SELF_MANAGED.

scope -> (строка)

Тип области для веб-перехватчика GitHub или GitLab. Область по умолчанию — GITHUB_ORGANIZATION.

status -> (строка)

Состояние веб-перехватчика. Допустимые значения включают:

  • CREATING : веб-перехватчик создается.
  • CREATE_FAILED : создание веб-перехватчика не удалось.
  • ACTIVE : веб-перехватчик успешно создан и активен.
  • DELETING : веб-перехватчик удаляется.

statusMessage -> (строка)

Сообщение, связанное со статусом веб-перехватчика.

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

Информация о конфигурации VPC, к которой CodeBuild имеет доступ.

vpcId -> (строка)

Идентификатор Amazon VPC.

subnets -> (список)

Список одного или нескольких идентификаторов подсети в вашей Amazon VPC.

(строка)

securityGroupIds -> (список)

Список одного или нескольких идентификаторов групп безопасности в вашей Amazon VPC.

(строка)

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

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

badgeEnabled -> (boolean)

Установите значение в «true», чтобы сгенерировать публично доступную ссылку на значок сборки вашего проекта.

badgeRequestUrl -> (string)

Публично доступная ссылка, по которой можно получить доступ к значку сборки вашего проекта.

logsConfig -> (structure)

Информация о логах для проекта сборки. Проект может создавать логи в CloudWatch Logs, в ведре S3 или в обоих.

cloudWatchLogs -> (structure)

Информация о CloudWatch Logs для проекта сборки. CloudWatch Logs включены по умолчанию.

status -> (string)

Текущий статус логов в CloudWatch Logs для проекта сборки. Допустимые значения:

  • ENABLED : CloudWatch Logs включены для этого проекта сборки.
  • DISABLED : CloudWatch Logs не включены для этого проекта сборки.

groupName -> (string)

Имя группы логов в CloudWatch Logs. Дополнительная информация в разделе Работа с группами и потоками логов.

streamName -> (string)

Префикс имени потока CloudWatch Logs. Дополнительная информация в разделе Работа с группами и потоками логов.

s3Logs -> (structure)

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

status -> (string)

Текущий статус логов сборки в S3. Допустимые значения:

  • ENABLED : Логи сборки в S3 включены для этого проекта сборки.
  • DISABLED : Логи сборки в S3 не включены для этого проекта сборки.

location -> (string)

ARN ведра S3 и префикс пути для логов S3. Если имя вашего ведра Amazon S3 — my-bucket, а префикс пути — build-log, то допустимые форматы — my-bucket/build-log или arn:aws:s3:::my-bucket/build-log.

encryptionDisabled -> (boolean)

Установите в «true», если вы не хотите шифровать выходные данные логов сборки в S3. По умолчанию логи сборки в S3 шифруются.

bucketOwnerAccess -> (string)

Указывает доступ владельца ведра для объектов, загружаемых в ведро Amazon S3 другим аккаунтом. По умолчанию доступ к этим объектам имеет только аккаунт, загрузивший их в ведро. Это свойство позволяет предоставить доступ к этим объектам владельцу ведра.

Примечание

Для использования этого свойства ваша роль службы CodeBuild должна иметь разрешение s3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.

Это свойство может принимать следующие значения:

NONE

Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.

READ_ONLY

Владелец ведра имеет только доступ для чтения к объектам. Загружающий аккаунт сохраняет право собственности на объекты.

FULL

Владелец ведра имеет полный доступ к объектам. Владелец объекта определяется по следующим критериям:

  • Если ведро настроено с параметром «Предпочтительный владелец ведра», владелец ведра владеет объектами. Загружающий аккаунт будет иметь доступ к объектам в соответствии с политикой ведра.
  • В противном случае, загружающий аккаунт сохраняет право собственности на объекты.

Дополнительная информация об авторских правах на объекты Amazon S3 — в разделе Управление авторскими правами загружаемых объектов с помощью авторских прав на объекты S3 в руководстве Amazon Simple Storage Service User Guide.

fileSystemLocations -> (list)

Массив объектов ProjectFileSystemLocation для проекта сборки CodeBuild. Объект ProjectFileSystemLocation указывает identifier, location, mountOptions, mountPoint и type файловой системы, созданной с помощью Amazon Elastic File System.

(structure)

Информация о файловой системе, созданной с помощью Amazon Elastic File System (EFS). Дополнительная информация в разделе Что такое Amazon Elastic File System?

type -> (string)

Тип файловой системы. Поддерживается только тип EFS.

location -> (string)

Строка, определяющая расположение файловой системы, созданной с помощью Amazon EFS. Ее формат — efs-dns-name:/directory-path. DNS-имя файловой системы можно найти в консоли Amazon EFS. Путь к каталогу — путь к каталогу в файловой системе, который CodeBuild монтирует. Например, если DNS-имя файловой системы — fs-abcd1234.efs.us-west-2.amazonaws.com, а каталог для монтирования — my-efs-mount-directory, то location — fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory.

Путь к каталогу в формате efs-dns-name:/directory-path необязателен. Если вы не указываете путь к каталогу, расположением будет только DNS-имя, и CodeBuild будет монтировать всю файловую систему.

mountPoint -> (string)

Расположение в контейнере, куда монтируется файловая система.

identifier -> (string)

Имя, используемое для доступа к файловой системе, созданной с помощью Amazon EFS. CodeBuild создает переменную окружения, добавляя identifier в верхнем регистре к CODEBUILD_. Например, если вы укажете my_efs для identifier, будет создана новая переменная окружения с именем CODEBUILD_MY_EFS.

identifier используется для монтирования файловой системы.

mountOptions -> (string)

Параметры монтирования для файловой системы, созданной с помощью Amazon EFS. Параметры монтирования по умолчанию, используемые CodeBuild, — nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. Дополнительная информация в разделе Рекомендуемые параметры монтирования NFS.

buildBatchConfig -> (structure)

Объект ProjectBuildBatchConfig, определяющий параметры пакетной сборки для проекта.

serviceRole -> (string)

Указывает ARN роли службы для проекта пакетной сборки.

combineArtifacts -> (boolean)

Указывает, должны ли артефакты сборки для пакетной сборки объединяться в одно расположение артефактов.

restrictions -> (structure)

Объект BatchRestrictions, определяющий ограничения для пакетной сборки.

maximumBuildsAllowed -> (integer)

Указывает максимальное количество разрешенных сборок.

computeTypesAllowed -> (list)

Массив строк, определяющих типы вычислительных ресурсов, разрешенные для пакетной сборки. Смотрите типы вычислительных ресурсов среды сборки в руководстве CodeBuild User Guide.

(string)

fleetsAllowed -> (list)

Массив строк, определяющих флоты, разрешенные для пакетной сборки. Смотрите раздел Запуск сборок на резервируемых флотах в руководстве CodeBuild User Guide.

(string)

timeoutInMins -> (integer)

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

batchReportMode -> (string)

Указывает, как отчеты о статусе сборки отправляются поставщику исходного кода для пакетной сборки. Это свойство используется только в том случае, если поставщик исходного кода вашего проекта — Bitbucket, GitHub или GitHub Enterprise, а ваш проект настроен на отправку отчетов о статусе сборки поставщику исходного кода.

REPORT_AGGREGATED_BATCH

(По умолчанию) Объединяет все статусы сборок в единый отчет.

REPORT_INDIVIDUAL_BUILDS

Отправляет отдельный отчет о статусе для каждой отдельной сборки.

concurrentBuildLimit -> (integer)

Максимальное количество одновременных сборок, разрешенных для этого проекта.

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

projectVisibility -> (string)

Определяет видимость сборок проекта. Возможные значения:

PUBLIC_READ

Сборки проекта видимы для общественности.

PRIVATE

Сборки проекта не видны для общественности.

publicProjectAlias -> (string)

Содержит идентификатор проекта, используемый в общедоступных API для сборок.

resourceAccessRole -> (string)

ARN роли IAM, которая позволяет CodeBuild получать доступ к CloudWatch Logs и артефактам Amazon S3 для сборок проекта.

autoRetryLimit -> (integer)

Максимальное количество дополнительных автоматических повторов после неудачной сборки. Например, если лимит автоматических повторов установлен в 2, CodeBuild будет вызывать API RetryBuild для автоматического повтора вашей сборки до 2 дополнительных раз.

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

Spec-Zone.ru

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