start-build
Описание
Запускает выполнение сборки с настройками, определенными в проекте. Эти настройки включают: как выполнить сборку, где получить исходный код, какую среду сборки использовать, какие команды сборки выполнить и куда сохранить выходные данные сборки.
Вы также можете запустить выполнение сборки, переопределив некоторые настройки сборки в проекте. Переопределения применяются только для конкретного запроса запуска сборки. Настройки в проекте не изменяются.
См. также: Документацию AWS API
Синтаксис
start-build
--project-name <value>
[--secondary-sources-override <value>]
[--secondary-sources-version-override <value>]
[--source-version <value>]
[--artifacts-override <value>]
[--secondary-artifacts-override <value>]
[--environment-variables-override <value>]
[--source-type-override <value>]
[--source-location-override <value>]
[--source-auth-override <value>]
[--git-clone-depth-override <value>]
[--git-submodules-config-override <value>]
[--buildspec-override <value>]
[--insecure-ssl-override | --no-insecure-ssl-override]
[--report-build-status-override | --no-report-build-status-override]
[--build-status-config-override <value>]
[--environment-type-override <value>]
[--image-override <value>]
[--compute-type-override <value>]
[--certificate-override <value>]
[--cache-override <value>]
[--service-role-override <value>]
[--privileged-mode-override | --no-privileged-mode-override]
[--timeout-in-minutes-override <value>]
[--queued-timeout-in-minutes-override <value>]
[--encryption-key-override <value>]
[--idempotency-token <value>]
[--logs-config-override <value>]
[--registry-credential-override <value>]
[--image-pull-credentials-type-override <value>]
[--debug-session-enabled | --no-debug-session-enabled]
[--fleet-override <value>]
[--auto-retry-limit-override <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]
Параметры
--project-name (строка)
--secondary-sources-override (список)
Массив объектов ProjectSource.
(структура)
Информация о источнике исходного кода для проекта сборки.
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 URL для клонирования репозитория, содержащего исходный код и файл 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>/).
- Путь к файлу ZIP, содержащему исходный код (например,
- Для исходного кода в репозитории GitHub, HTTPS URL для клонирования репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить вашу учетную запись Amazon Web Services к вашей учетной записи GitHub. Используйте консоль CodeBuild для начала создания проекта сборки. При подключении (или повторном подключении) к GitHub в GitHub Авторизовать приложение странице, для Доступ к организации , выберите Запросить доступ рядом с каждым репозиторием, которому вы хотите разрешить CodeBuild иметь доступ, а затем выберите Авторизовать приложение . (После подключения к вашей учетной записи GitHub вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте
sourceустановите значение объектаauthвOAUTH. - Для исходного кода в репозитории GitLab или самообслуживаемом репозитории GitLab, HTTPS URL для клонирования репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить вашу учетную запись Amazon Web Services к вашей учетной записи GitLab. Используйте консоль CodeBuild для начала создания проекта сборки. При подключении (или повторном подключении) к GitLab на странице Connections Авторизовать приложение , выберите Авторизовать. Затем на странице CodeConnections Создать подключение GitLab, выберите Подключиться к GitLab. (После подключения к вашей учетной записи GitLab вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта
authвCODECONNECTIONSв объектеsource. - Для исходного кода в репозитории Bitbucket, HTTPS URL для клонирования репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить вашу учетную запись Amazon Web Services к вашей учетной записи Bitbucket. Используйте консоль CodeBuild для начала создания проекта сборки. При подключении (или повторном подключении) к Bitbucket на странице Bitbucket Подтвердите доступ к вашей учетной записи, выберите Предоставить доступ. (После подключения к вашей учетной записи Bitbucket вам не нужно завершать создание проекта сборки. Вы можете покинуть консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте
sourceустановите значение объектаauthвOAUTH.
Если вы укажете CODEPIPELINE для свойства Type, не указывайте это свойство. Для всех остальных типов, вы должны указать Location.
gitCloneDepth -> (целое число)
gitSubmodulesConfig -> (структура)
Информация о конфигурации Git подмодулей для проекта сборки.
fetchSubmodules -> (булево)
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 для доступа к исходному коду, который нужно собрать.
type -> (строка)
resource -> (строка)
reportBuildStatus -> (булево)
Установите значение true, чтобы сообщать о статусе начала и завершения сборки вашему поставщику источника. Этот параметр действителен только при использовании поставщика источника GitHub, GitHub Enterprise, GitLab, GitLab Self Managed или Bitbucket. Если это установлено и используется другой поставщик источника, вызывается invalidInputException.
Для возможности отправки статуса сборки поставщику источника, пользователь, связанный с поставщиком источника, должен иметь права записи в репозитории. Если у пользователя нет прав записи, статус сборки не может быть обновлен. Дополнительную информацию см. в разделе Доступ к поставщику источника в Руководстве пользователя CodeBuild.
Статус сборки, инициированной веб-хуком, всегда отправляется поставщику источника.
Если сборки вашего проекта инициируются веб-хуком, вам необходимо сделать новый коммит в репозиторий, чтобы изменения в этом свойстве вступили в силу.
buildStatusConfig -> (структура)
Содержит информацию, определяющую, как проект сборки сообщает о статусе сборки поставщику источника. Этот параметр используется только при использовании поставщика источника GITHUB , GITHUB_ENTERPRISE или BITBUCKET.
context -> (строка)
Указывает контекст статуса сборки, который CodeBuild отправляет поставщику источника. Использование этого параметра зависит от поставщика источника.
Этот параметр используется для параметра name в статусе коммита Bitbucket. Дополнительную информацию см. в build в документации API Bitbucket.
Этот параметр используется для параметра context в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.
targetUrl -> (строка)
Указывает целевой URL статуса сборки, который CodeBuild отправляет поставщику источника. Использование этого параметра зависит от поставщика источника.
Этот параметр используется для параметра url в статусе коммита Bitbucket. Дополнительную информацию см. в build в документации API Bitbucket.
Этот параметр используется для параметра target_url в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.
insecureSsl -> (булево)
sourceIdentifier -> (строка)
Краткая запись:
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-version-override (список)
Массив объектов ProjectSourceVersion, которые указывают одну или несколько версий вторичных источников проекта, которые будут использоваться только для этой сборки.
(структура)
Идентификатор источника и его соответствующая версия.
sourceIdentifier -> (строка)
sourceVersion -> (строка)
Версия источника для соответствующего идентификатора источника. Если указано, должно быть одно из:
- Для CodeCommit: ID коммита, ветка или Git тег для использования.
- Для GitHub: ID коммита, ID запроса на вытягивание, имя ветки или имя тега, соответствующие версии исходного кода, которую нужно собрать. Если указан ID запроса на вытягивание, он должен иметь формат
pr/pull-request-ID(например,pr/25). Если указано имя ветки, используется ID HEAD коммита ветки. Если не указано, используется ID HEAD коммита ветки по умолчанию. - Для GitLab: ID коммита, ветка или Git тег для использования.
- Для Bitbucket: ID коммита, имя ветки или имя тега, соответствующие версии исходного кода, которую нужно собрать. Если указано имя ветки, используется ID HEAD коммита ветки. Если не указано, используется ID HEAD коммита ветки по умолчанию.
- Для Amazon S3: ID версии объекта, представляющего файл ZIP входных данных сборки для использования.
Дополнительную информацию см. в разделе Пример версии источника с CodeBuild в Руководстве пользователя CodeBuild.
Краткая запись:
sourceIdentifier=string,sourceVersion=string ...
Синтаксис JSON:
[
{
"sourceIdentifier": "string",
"sourceVersion": "string"
}
...
]
--source-version (строка)
Версия ввода сборки, которая должна быть построена, только для этой сборки. Если не указано, используется последняя версия. Если указано, содержимое зависит от поставщика источника:
Идентификатор коммита, ветвь или тег Git, которые нужно использовать.
Идентификатор коммита, идентификатор запроса на вытягивание, имя ветви или имя тега, соответствующие версии исходного кода, которую необходимо собрать. Если указан идентификатор запроса на вытягивание, он должен использовать формат pr/pull-request-ID (например, pr/25). Если указано имя ветви, используется идентификатор коммита HEAD ветви. Если не указано, используется идентификатор коммита HEAD по умолчанию для ветви.
Идентификатор коммита, ветвь или тег Git, которые нужно использовать.
Идентификатор коммита, имя ветви или имя тега, соответствующие версии исходного кода, которую нужно собрать. Если указано имя ветви, используется идентификатор коммита HEAD ветви. Если не указано, используется идентификатор коммита HEAD по умолчанию для ветви.
Идентификатор версии объекта, представляющего ZIP-файл входных данных сборки, который нужно использовать.
Если sourceVersion указано на уровне проекта, тогда это sourceVersion (на уровне сборки) имеет приоритет.
Для получения дополнительной информации см. Пример версии источника с CodeBuild в руководстве пользователя CodeBuild.
--artifacts-override (структура)
Настройки артефактов выходных данных сборки, которые перезаписывают, только для этой сборки, последние настройки, уже определённые в проекте сборки.
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 -> (булево)
encryptionDisabled -> (булево)
artifactIdentifier -> (строка)
bucketOwnerAccess -> (строка)
Определяет доступ владельца ведра для объектов, которые другое учётная запись загружает в своё ведро Amazon S3. По умолчанию доступ к этим объектам имеет только учётная запись, которая загружает объекты в ведро. Этот параметр позволяет предоставить доступ к этим объектам владельцу ведра.
Примечание
Для использования этого параметра, ваша роль службы CodeBuild должна иметь разрешениеs3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.Этот параметр может иметь следующие значения:
Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.
Владелец ведра имеет только доступ для чтения к объектам. Загружающая учётная запись сохраняет владение объектами.
Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:
- Если ведро настроено с параметром 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-override (список)
Массив объектов 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.
типПространстваИмен -> (строка)
Вместе с 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, который содержит результаты сборки.
-
переопределитьИмяАртефакта -> (логическое значение)
отключениеШифрования -> (логическое значение)
идентификаторАртефакта -> (строка)
доступВладельцаВедра -> (строка)
Указывает доступ владельца ведра для объектов, которые другое учётное свидетельство загружает в своё ведро Amazon S3. По умолчанию доступ к этим объектам имеет только учётная запись, которая загружает объекты в ведро. Этот параметр позволяет предоставить владельцу ведра доступ к этим объектам.
Примечание
Для использования этого параметра ваша роль службы CodeBuild должна иметь разрешениеs3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.Этот параметр может принимать одно из следующих значений:
Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.
Владелец ведра имеет только доступ для чтения к объектам. Загружающая учётная запись сохраняет владение объектами.
Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:
- Если ведро настроено на использование параметра предпочтение владельца ведра, владелец ведра владеет объектами. У загружающей учётной записи будет доступ к объектам в соответствии с политикой ведра.
- В противном случае загружающая учётная запись сохраняет владение объектами.
Дополнительную информацию об владении объектами 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"
}
...
]
--environment-variables-override (список)
Набор переменных среды, которые переопределяют, только для этой сборки, самые последние переменные среды, уже определённые в проекте сборки.
(структура)
Информация о переменной среды для проекта сборки или сборки.
имя -> (строка)
значение -> (строка)
Значение переменной среды.
Предупреждение
Мы настоятельно не рекомендуем использовать переменные средыPLAINTEXT для хранения конфиденциальных данных, особенно идентификаторов секретных ключей Amazon Web Services. Переменные среды PLAINTEXT могут отображаться в виде обычного текста с помощью консоли CodeBuild и CLI. Для конфиденциальных данных мы рекомендуем использовать переменные среды типа PARAMETER_STORE или SECRETS_MANAGER.тип -> (строка)
Тип переменной среды. Допустимые значения включают:
-
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.
Укороченный синтаксис:
name=string,value=string,type=string ...
Синтаксис JSON:
[
{
"name": "string",
"value": "string",
"type": "PLAINTEXT"|"PARAMETER_STORE"|"SECRETS_MANAGER"
}
...
]
--source-type-override (строка)
Тип входных данных источника для этой сборки, который переопределяет входные данные источника, определённые в проекте сборки.
Возможные значения:
CODECOMMITCODEPIPELINEGITHUBGITLABGITLAB_SELF_MANAGEDS3BITBUCKETGITHUB_ENTERPRISENO_SOURCE
--source-location-override (строка)
--source-auth-override (структура)
Тип авторизации для данного сборки, который переопределяет тип, определенный в проекте сборки. Это переопределение применяется только в том случае, если исходный код проекта сборки находится в BitBucket, GitHub, GitLab или GitLab Self Managed.
type -> (строка)
resource -> (строка)
Сокращенная синтаксическая запись:
type=string,resource=string
Синтаксис JSON:
{
"type": "OAUTH"|"CODECONNECTIONS"|"SECRETS_MANAGER",
"resource": "string"
}
--git-clone-depth-override (целое число)
--git-submodules-config-override (структура)
Информация о конфигурации Git подмодулей для этой сборки проекта CodeBuild.
fetchSubmodules -> (булево)
Сокращенная синтаксическая запись:
fetchSubmodules=boolean
Синтаксис JSON:
{
"fetchSubmodules": true|false
}
--buildspec-override (строка)
Объявление файла buildspec, которое переопределяет последнее объявление в проекте сборки только для этой сборки. Определенное в проекте объявление buildspec не изменяется.
Если это значение установлено, оно может быть либо встроенным определением buildspec, либо путем к альтернативному файлу buildspec, относительным к значению встроенной переменной среды CODEBUILD_SRC_DIR, либо путем к ведру S3. Ведро должно находиться в той же области Amazon Web Services, что и проект сборки. Укажите файл buildspec, используя его ARN (например, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). Если это значение не задано или установлено в пустую строку, исходный код должен содержать файл buildspec в корневой директории. Дополнительную информацию см. в разделе Имя и расположение файла buildspec .
Примечание
Так как это свойство позволяет изменять команды сборки, которые будут выполняться в контейнере, следует учитывать, что субъект IAM с возможностью вызова этого API и установки этого параметра может переопределять стандартные настройки. Кроме того, мы рекомендуем использовать надежное расположение buildspec, например, файл в вашем репозитории исходного кода или ведро Amazon S3.--insecure-ssl-override | --no-insecure-ssl-override (булево)
--report-build-status-override | --no-report-build-status-override (булево)
Установите значение true, чтобы сообщить вашему поставщику исходного кода о статусе начала и завершения сборки. Если вы используете этот параметр с поставщиком исходного кода, отличным от GitHub, GitHub Enterprise, GitLab, GitLab Self Managed или Bitbucket, будет выброшено исключение invalidInputException.
Чтобы иметь возможность сообщать о статусе сборки поставщику исходного кода, пользователь, связанный с поставщиком исходного кода, должен иметь права на запись в репозиторий. Если у пользователя нет прав на запись, статус сборки не может быть обновлен. Дополнительную информацию см. в разделе Доступ к поставщику исходного кода в руководстве пользователя CodeBuild .
Примечание
Статус сборки, инициированной веб-хуком, всегда сообщается вашему поставщику исходного кода.--build-status-config-override (структура)
Содержит информацию, определяющую, как проект сборки сообщает о статусе сборки поставщику исходного кода. Этот параметр используется только когда поставщик исходного кода является GITHUB , GITHUB_ENTERPRISE или BITBUCKET .
context -> (строка)
Указывает контекст статуса сборки, который CodeBuild отправляет поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.
Этот параметр используется для параметра name в статусе коммита Bitbucket. Дополнительную информацию см. в разделе сборки в документации API Bitbucket.
Этот параметр используется для параметра context в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.
targetUrl -> (строка)
Указывает целевой URL статуса сборки, который CodeBuild отправляет поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.
Этот параметр используется для параметра url в статусе коммита Bitbucket. Дополнительную информацию см. в разделе сборки в документации API Bitbucket.
Этот параметр используется для параметра target_url в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.
Сокращенная синтаксическая запись:
context=string,targetUrl=string
Синтаксис JSON:
{
"context": "string",
"targetUrl": "string"
}
--environment-type-override (строка)
Тип контейнера для данной сборки, который переопределяет тип, указанный в проекте сборки.
Возможные значения:
WINDOWS_CONTAINERLINUX_CONTAINERLINUX_GPU_CONTAINERARM_CONTAINERWINDOWS_SERVER_2019_CONTAINERWINDOWS_SERVER_2022_CONTAINERLINUX_LAMBDA_CONTAINERARM_LAMBDA_CONTAINERLINUX_EC2ARM_EC2WINDOWS_EC2MAC_ARM
--image-override (строка)
--compute-type-override (строка)
Имя типа вычислительных ресурсов для данной сборки, которое переопределяет тип, указанный в проекте сборки.
Возможные значения:
BUILD_GENERAL1_SMALLBUILD_GENERAL1_MEDIUMBUILD_GENERAL1_LARGEBUILD_GENERAL1_XLARGEBUILD_GENERAL1_2XLARGEBUILD_LAMBDA_1GBBUILD_LAMBDA_2GBBUILD_LAMBDA_4GBBUILD_LAMBDA_8GBBUILD_LAMBDA_10GBATTRIBUTE_BASED_COMPUTECUSTOM_INSTANCE_TYPE
--certificate-override (строка)
--cache-override (структура)
Объект ProjectCache, указанный для этой сборки, который переопределяет объект, определенный в проекте сборки.
type -> (строка)
Тип кэша, используемого проектом сборки. Допустимые значения:
-
NO_CACHE: Проект сборки не использует кэш. -
S3: Проект сборки читает и записывает в S3. -
LOCAL: Проект сборки хранит кэш локально на хосте сборки, доступном только этому хосту.
location -> (строка)
Информация о расположении кэша:
-
NO_CACHEилиLOCAL: Это значение игнорируется. -
S3: Это имя ведра S3/префикс.
modes -> (список)
Массив строк, определяющих локальные режимы кэша. Вы можете использовать один или несколько локальных режимов кэша одновременно. Это используется только для типов кэша LOCAL.
Возможные значения:
Кэширует метаданные Git для первичных и вторичных источников. После создания кэша последующие сборки получают только изменения между коммитами. Этот режим подходит для проектов с чистым каталогом работы и источником, который представляет собой большой Git репозиторий. Если вы выбрали этот параметр, а ваш проект не использует Git репозиторий (GitHub, GitHub Enterprise или Bitbucket), этот параметр игнорируется.
Кэширует существующие слои Docker. Этот режим подходит для проектов, которые строят или подключаются к большим Docker изображениям. Это может предотвратить проблемы производительности, связанные с загрузкой больших Docker изображений из сети.
Примечание
- Вы можете использовать кэш Docker слоев только в Linux среде.
- Флаг
privilegedдолжен быть установлен, чтобы ваш проект имел необходимые разрешения Docker. - Перед использованием кэша Docker слоев следует учесть соображения безопасности.
LOCAL_CUSTOM_CACHE
Кэширует каталоги, которые вы указали в файле buildspec. Этот режим подходит, если ваша сценарий сборки не подходит ни под один из других трех локальных режимов кэша. Если вы используете пользовательский кэш:
- Указываться могут только каталоги, индивидуальные файлы не поддерживаются.
- Символьные ссылки используются для ссылки на кэшированные каталоги.
- Кэшированные каталоги связываются с вашей сборкой перед скачиванием исходных файлов проекта. Кэшированные элементы переопределяются, если элемент источника имеет то же имя. Каталоги указываются с использованием путей кэша в файле buildspec.
(строка)
cacheNamespace -> (строка)
Сокращенная синтаксическая запись:
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"
}
--service-role-override (строка)
--privileged-mode-override | --no-privileged-mode-override (булево)
--timeout-in-minutes-override (целое число)
--queued-timeout-in-minutes-override (целое число)
--encryption-key-override (строка)
Ключ управления ключами (CMK) Key Management Service, который переопределяет ключ, указанный в проекте сборки. Ключ CMK шифрует артефакты вывода сборки.
Примечание
Вы можете использовать ключ KMS другой учетной записи, если роль службы имеет разрешения на этот ключ.Вы можете указать либо Amazon Resource Name (ARN) CMK, либо, если доступно, псевдоним CMK (в формате alias/<alias-name>).
--idempotency-token (строка)
--logs-config-override (структура)
Настройки логов для этого сборки, которые переопределяют настройки логов, определенные в проекте сборки.
cloudWatchLogs -> (структура)
Информация о CloudWatch Logs для проекта сборки. CloudWatch Logs включены по умолчанию.
status -> (строка)
Текущий статус логов в CloudWatch Logs для проекта сборки. Допустимые значения:
-
ENABLED: CloudWatch Logs включены для этого проекта сборки. -
DISABLED: CloudWatch Logs не включены для этого проекта сборки.
groupName -> (строка)
streamName -> (строка)
s3Logs -> (структура)
Информация о логах, созданных в ведре S3 для проекта сборки. Логи S3 по умолчанию не включены.
status -> (строка)
Текущий статус логов сборки в S3. Допустимые значения:
-
ENABLED: Логи сборки S3 включены для этого проекта сборки. -
DISABLED: Логи сборки S3 не включены для этого проекта сборки.
location -> (строка)
my-bucket, а префикс пути — build-log, то допустимые форматы — my-bucket/build-log или arn:aws:s3:::my-bucket/build-log.encryptionDisabled -> (логическое)
bucketOwnerAccess -> (строка)
Определяет доступ владельца ведра к объектам, которые другой аккаунт загружает в ведро Amazon S3. По умолчанию доступ к этим объектам имеет только аккаунт, загрузивший их в ведро. Это свойство позволяет предоставить доступ владельцу ведра к этим объектам.
Примечание
Чтобы использовать это свойство, роль службы CodeBuild должна иметь разрешениеs3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом к ведру.Это свойство может принимать следующие значения:
Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.
Владелец ведра имеет доступ для чтения к объектам. Аккаунт, загрузивший объекты, сохраняет право собственности на них.
Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:
- Если ведро настроено с настройкой Bucket owner preferred, владелец ведра владеет объектами. Аккаунт, загрузивший объекты, будет иметь доступ к объектам в соответствии с политикой ведра.
- В противном случае аккаунт, загрузивший объекты, сохраняет право собственности на них.
Дополнительную информацию о владении объектами Amazon S3 см. в разделе Управление владением загруженными объектами с помощью S3 Object Ownership в Руководстве пользователя Amazon Simple Storage Service.
Упрощенный синтаксис:
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"
}
}
--registry-credential-override (структура)
Утверждения для доступа к частному реестру.
credential -> (строка)
Amazon Resource Name (ARN) или имя утверждений, созданных с помощью Secrets Manager.
Примечание
credential может использовать только имя утверждений, если они существуют в текущем регионе Amazon Web Services.credentialProvider -> (строка)
Упрощенный синтаксис:
credential=string,credentialProvider=string
Синтаксис JSON:
{
"credential": "string",
"credentialProvider": "SECRETS_MANAGER"
}
--image-pull-credentials-type-override (строка)
Тип утверждений, используемых CodeBuild для извлечения изображений в вашей сборке. Существует два допустимых значения:
Указывает, что CodeBuild использует собственные утверждения. Это требует изменения политики вашего репозитория ECR для доверия сервисному принципалу CodeBuild.
Указывает, что CodeBuild использует роль службы вашего проекта сборки.
При использовании изображений из другого аккаунта или частного реестра необходимо использовать SERVICE_ROLE утверждения. При использовании предварительно подготовленного изображения CodeBuild необходимо использовать CODEBUILD утверждения.
Возможные значения:
CODEBUILDSERVICE_ROLE
--debug-session-enabled | --no-debug-session-enabled (логическое)
--fleet-override (структура)
Объект ProjectFleet, указанный для этой сборки, который переопределяет объект, определенный в проекте сборки.
fleetArn -> (строка)
Упрощенный синтаксис:
fleetArn=string
Синтаксис JSON:
{
"fleetArn": "string"
}
--auto-retry-limit-override (целое)
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
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла утверждений.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- on
- off
- auto
--no-sign-request (логическое)
Не подписывать запросы. Утверждения не будут загружаться, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл с набором сертификатов CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, а двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое сопоставляется с двоичным блоком, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от настроек cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое)
Отключить переключатель cli для вывода.
--cli-auto-prompt (логическое)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (логическое)
Отключить автоматическую запрос параметров ввода CLI.
Примеры
Примечание
Чтобы использовать следующие примеры, необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы с Руководством пользователя AWS CLI.
Если не указано иное, все примеры используют правила кавычек, аналогичные правилам Unix. Эти примеры необходимо адаптировать к правилам кавычек вашей командной строки. Дополнительную информацию см. в разделе Использование кавычек со строками в Руководстве пользователя AWS CLI.
Запуск сборки проекта AWS CodeBuild.
Следующий пример запускает сборку для указанного проекта CodeBuild. Сборка переопределяет как настройку проекта для количества минут, в течение которых сборка может находиться в очереди ожидания до таймаута, так и настройки артефактов проекта.
aws codebuild start-build \
--project-name "my-demo-project" \
--queued-timeout-in-minutes-override 5 \
--artifacts-override {"\"type\": \"S3\",\"location\": \"arn:aws:s3:::artifacts-override\",\"overrideArtifactName\":true"}
Вывод:
{
"build": {
"serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role",
"buildStatus": "IN_PROGRESS",
"buildComplete": false,
"projectName": "my-demo-project",
"timeoutInMinutes": 60,
"source": {
"insecureSsl": false,
"type": "S3",
"location": "codebuild-us-west-2-123456789012-input-bucket/my-source.zip"
},
"queuedTimeoutInMinutes": 5,
"encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3",
"currentPhase": "QUEUED",
"startTime": 1556905683.568,
"environment": {
"computeType": "BUILD_GENERAL1_MEDIUM",
"environmentVariables": [],
"type": "LINUX_CONTAINER",
"privilegedMode": false,
"image": "aws/codebuild/standard:1.0",
"imagePullCredentialsType": "CODEBUILD"
},
"phases": [
{
"phaseStatus": "SUCCEEDED",
"startTime": 1556905683.568,
"phaseType": "SUBMITTED",
"durationInSeconds": 0,
"endTime": 1556905684.524
},
{
"startTime": 1556905684.524,
"phaseType": "QUEUED"
}
],
"logs": {
"deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEvent:group=null;stream=null"
},
"artifacts": {
"encryptionDisabled": false,
"location": "arn:aws:s3:::artifacts-override/my-demo-project",
"overrideArtifactName": true
},
"cache": {
"type": "NO_CACHE"
},
"id": "my-demo-project::12345678-a1b2-c3d4-e5f6-11111EXAMPLE",
"initiator": "my-aws-account-name",
"arn": "arn:aws:codebuild:us-west-2:123456789012:build/my-demo-project::12345678-a1b2-c3d4-e5f6-11111EXAMPLE"
}
}
Дополнительную информацию см. в разделе Запустить сборку (AWS CLI) в Руководстве пользователя AWS CodeBuild.
Вывод
build -> (структура)
Информация о запуске сборки.
id -> (строка)
arn -> (строка)
buildNumber -> (целое число)
buildNumber первого построения 1. buildNumber каждого последующего построения увеличивается на 1. Если сборка удалена, buildNumber других сборок не изменяется.startTime -> (метка времени)
endTime -> (метка времени)
currentPhase -> (строка)
buildStatus -> (строка)
Текущий статус сборки. Допустимые значения включают:
-
FAILED: Сборка завершилась неудачно. -
FAULT: Сборка прервана. -
IN_PROGRESS: Сборка всё ещё выполняется. -
STOPPED: Сборка остановлена. -
SUCCEEDED: Сборка завершилась успешно. -
TIMED_OUT: Сборка превысила лимит времени.
sourceVersion -> (строка)
Любой идентификатор версии для версии исходного кода, подлежащего сборке. Если sourceVersion указан на уровне проекта, этот sourceVersion (на уровне сборки) имеет приоритет.
Для получения дополнительной информации см. Пример версии источника с CodeBuild в Руководстве пользователя CodeBuild.
resolvedSourceVersion -> (строка)
Идентификатор версии исходного кода этой сборки.
- Для CodeCommit, GitHub, GitHub Enterprise и BitBucket — идентификатор коммита.
- Для CodePipeline — ревизия источника, предоставленная CodePipeline.
- Для Amazon S3 — это не применимо.
projectName -> (строка)
phases -> (список)
Информация обо всех предыдущих завершённых фазах сборки и о любой текущей фазе сборки, которая ещё не завершена.
(структура)
Информация о стадии сборки.
phaseType -> (строка)
Название фазы сборки. Допустимые значения включают:
Основная работа по сборке, как правило, происходит на этой фазе.
Сборка завершена.
На этой фазе происходит загрузка исходного кода.
На этой фазе завершается процесс сборки.
Установка обычно происходит на этой фазе.
Послестроительные действия обычно происходят на этой фазе.
Предварительные действия по сборке обычно происходят на этой фазе.
Настройка среды сборки.
Сборка добавлена в очередь за другими отправленными сборками.
Сборка отправлена.
Артефакты выходных данных сборки загружаются в место назначения.
phaseStatus -> (строка)
Текущий статус фазы сборки. Допустимые значения включают:
Фаза сборки завершилась неудачно.
Фаза сборки прервана.
Фаза сборки всё ещё выполняется.
Фаза сборки остановлена.
Фаза сборки завершилась успешно.
Фаза сборки превысила лимит времени.
startTime -> (метка времени)
endTime -> (метка времени)
durationInSeconds -> (целое число)
contexts -> (список)
Дополнительная информация о фазе сборки, особенно для устранения неполадок при неудачной сборке.
(структура)
Дополнительная информация о фазе сборки, имеющей ошибку. Вы можете использовать эту информацию для устранения неполадок.
statusCode -> (строка)
message -> (строка)
source -> (структура)
Информация о исходном коде, подлежащем сборке.
type -> (string)
Тип репозитория, содержащего исходный код, подлежащий сборке. Допустимые значения включают:
-
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 -> (string)
Информация о местоположении исходного кода, подлежащего сборке. Допустимые значения включают:
- Для настроек исходного кода, которые указаны в действии источника конвейера в CodePipeline, не следует указывать
location. Если он указан, CodePipeline игнорирует его. Это связано с тем, что CodePipeline использует настройки в действии источника конвейера вместо этого значения. - Для исходного кода в репозитории CodeCommit — HTTPS-URL для клонирования репозитория, содержащего исходный код и файл 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>/).
- Путь к файлу ZIP, содержащему исходный код (например,
- Для исходного кода в репозитории GitHub — HTTPS-URL для клонирования репозитория, содержащего исходный и файл buildspec. Вам необходимо подключить вашу учетную запись Amazon Web Services к вашей учетной записи GitHub. Используйте консоль CodeBuild, чтобы начать создание проекта сборки. Когда вы используете консоль для подключения (или повторного подключения) к GitHub, на странице GitHub Authorize application, для Доступ к организации, выберите Запросить доступ рядом с каждым репозиторием, которому вы хотите разрешить CodeBuild иметь доступ, а затем выберите Authorize application. (После подключения к вашей учетной записи GitHub вам не нужно завершать создание проекта сборки. Вы можете выйти из консоли CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте
sourceустановите значение объектаauthtypeвOAUTH. - Для исходного кода в репозитории GitLab или GitLab с самостоятельным управлением — HTTPS-URL для клонирования репозитория, содержащего исходный и файл buildspec. Вам необходимо подключить вашу учетную запись Amazon Web Services к вашей учетной записи GitLab. Используйте консоль CodeBuild, чтобы начать создание проекта сборки. При использовании консоли для подключения (или повторного подключения) к GitLab на странице подключений Authorize application выберите Authorize. Затем на странице CodeConnections Create GitLab connection выберите Connect to GitLab. (После подключения к вашей учетной записи GitLab вам не нужно завершать создание проекта сборки. Вы можете выйти из консоли CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта
authtypeвCODECONNECTIONSв объектеsource. - Для исходного кода в репозитории Bitbucket — HTTPS-URL для клонирования репозитория, содержащего исходный и файл buildspec. Вам необходимо подключить вашу учетную запись Amazon Web Services к вашей учетной записи Bitbucket. Используйте консоль CodeBuild, чтобы начать создание проекта сборки. При использовании консоли для подключения (или повторного подключения) к Bitbucket на странице Bitbucket Confirm access to your account выберите Grant access. (После подключения к вашей учетной записи Bitbucket вам не нужно завершать создание проекта сборки. Вы можете выйти из консоли CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте
sourceустановите значение объектаauthtypeвOAUTH.
Если вы укажете CODEPIPELINE для свойства Type, не указывайте это свойство. Для всех остальных типов вы должны указать Location.
gitCloneDepth -> (integer)
gitSubmodulesConfig -> (structure)
Информация о конфигурации Git-подмодулей для проекта сборки.
fetchSubmodules -> (boolean)
buildspec -> (string)
Декларация файла buildspec, используемого для сборок в этом проекте сборки.
Если это значение задано, оно может быть либо встроенным определением buildspec, путём к альтернативному файлу buildspec относительно значения встроенной переменной среды CODEBUILD_SRC_DIR, либо путём к ведру S3. Ведро должно находиться в той же области Amazon Web Services, что и проект сборки. Укажите файл buildspec, используя его ARN (например, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). Если это значение не указано или установлено в пустую строку, исходный код должен содержать файл buildspec в корневой директории. Дополнительную информацию см. в разделе Имя и расположение файла buildspec.
auth -> (structure)
Информация о настройках авторизации для CodeBuild для доступа к исходному коду, подлежащему сборке.
type -> (string)
resource -> (string)
reportBuildStatus -> (boolean)
Установите в значение true, чтобы сообщать о статусе начала и завершения сборки поставщику исходного кода. Этот параметр действителен только при использовании GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, GitLab или Bitbucket в качестве поставщика исходного кода. Если он задан и вы используете другой поставщик источника, будет выброшено исключение invalidInputException.
Чтобы иметь возможность сообщать о статусе сборки поставщику исходного кода, у пользователя, связанного с поставщиком исходного кода, должен быть доступ для записи в репозиторий. Если у пользователя нет доступа для записи, статус сборки не может быть обновлен. Дополнительную информацию см. в разделе Доступ поставщика исходного кода в справочнике CodeBuild.
Статус сборки, инициированной веб-хуком, всегда сообщается поставщику исходного кода.
Если сборки вашего проекта инициируются веб-хуком, необходимо выполнить новый коммит в репозиторий, чтобы изменение этого свойства вступило в силу.
buildStatusConfig -> (structure)
Содержит информацию, определяющую, как проект сборки сообщает о статусе сборки поставщику исходного кода. Этот параметр используется только при использовании GITHUB, GITHUB_ENTERPRISE или BITBUCKET в качестве поставщика исходного кода.
context -> (string)
Указывает контекст статуса сборки, отправляемый CodeBuild поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.
Этот параметр используется для параметра name в статусе коммита Bitbucket. Дополнительную информацию см. в документации API Bitbucket.
Этот параметр используется для параметра context в статусе коммита GitHub. Дополнительную информацию см. в руководстве разработчика GitHub.
targetUrl -> (string)
Указывает целевой URL статуса сборки, отправляемый CodeBuild поставщику исходного кода. Использование этого параметра зависит от поставщика исходного кода.
Этот параметр используется для параметра url в статусе коммита Bitbucket. Дополнительную информацию см. в документации API Bitbucket.
Этот параметр используется для параметра target_url в статусе коммита GitHub. Дополнительную информацию см. в руководстве разработчика GitHub.
insecureSsl -> (boolean)
sourceIdentifier -> (string)
secondarySources -> (list)
Массив объектов ProjectSource.
(структура)
Информация о коде исходного кода проекта сборки для проекта сборки.
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>/).
- Путь к файлу ZIP, содержащему исходный код (например,
- Для исходного кода в репозитории GitHub, HTTPS-ссылка на клонирование репозитория, содержащего исходный и файл buildspec. Вам необходимо подключить свою учетную запись Amazon Web Services к вашей учетной записи GitHub. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к GitHub, на странице GitHub Авторизовать приложение, для Доступа к организации, выберите Запросить доступ рядом с каждым репозиторием, которому вы хотите разрешить CodeBuild иметь доступ, а затем выберите Авторизовать приложение. (После подключения к вашей учетной записи GitHub вам не нужно завершать создание проекта сборки. Вы можете оставить консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте
sourceустановите значение объектаauthtypeвOAUTH. - Для исходного кода в репозитории GitLab или управляемом пользователем репозитории GitLab, HTTPS-ссылка на клонирование репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить свою учетную запись Amazon Web Services к вашей учетной записи GitLab. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к GitLab, на странице подключений Авторизовать приложение, выберите Авторизовать. Затем на странице CodeConnections Создать подключение GitLab, выберите Подключиться к GitLab. (После подключения к вашей учетной записи GitLab вам не нужно завершать создание проекта сборки. Вы можете оставить консоль CodeBuild.) Чтобы указать CodeBuild переопределить стандартное подключение и использовать это подключение вместо него, установите значение объекта
authtypeвCODECONNECTIONSв объектеsource. - Для исходного кода в репозитории Bitbucket, HTTPS-ссылка на клонирование репозитория, содержащего исходный код и файл buildspec. Вам необходимо подключить свою учетную запись Amazon Web Services к вашей учетной записи Bitbucket. Используйте консоль CodeBuild для начала создания проекта сборки. При использовании консоли для подключения (или повторного подключения) к Bitbucket, на странице Bitbucket Подтвердить доступ к вашей учетной записи, выберите Предоставить доступ. (После подключения к вашей учетной записи Bitbucket вам не нужно завершать создание проекта сборки. Вы можете оставить консоль CodeBuild.) Чтобы указать CodeBuild использовать это подключение, в объекте
sourceустановите значение объектаauthtypeвOAUTH.
Если вы укажете CODEPIPELINE для свойства Type, не указывайте это свойство. Для всех других типов необходимо указать Location.
gitCloneDepth -> (целое число)
gitSubmodulesConfig -> (структура)
Информация о настройке Git подмодулей для проекта сборки.
fetchSubmodules -> (булево)
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, чтобы получить доступ к исходному коду, подлежащему сборке.
type -> (строка)
resource -> (строка)
reportBuildStatus -> (булево)
Установите значение true, чтобы сообщать статус начала и завершения сборки вашему поставщику источника. Этот параметр действителен только в том случае, если ваш поставщик источника — GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, GitLab или Bitbucket. Если это значение установлено, и вы используете другой поставщик источника, будет выброшено invalidInputException.
Чтобы иметь возможность сообщать статус сборки поставщику источника, пользователь, связанный с поставщиком источника, должен иметь права на запись в репозиторий. Если у пользователя нет прав на запись, статус сборки не может быть обновлен. Дополнительную информацию см. в разделе Доступ поставщика источника в Руководстве пользователя CodeBuild.
Статус сборки, инициированной веб-хуком, всегда сообщается вашему поставщику источника.
Если сборки проекта инициируются веб-хуком, для изменения этого свойства необходимо выполнить push нового коммита в репозиторий.
buildStatusConfig -> (структура)
Содержит информацию, определяющую, как проект сборки сообщает статус сборки поставщику источника. Этот параметр используется только при поставщике источника GITHUB, GITHUB_ENTERPRISE или BITBUCKET.
context -> (строка)
Указывает контекст статуса сборки, отправляемый CodeBuild поставщику источника. Использование этого параметра зависит от поставщика источника.
Этот параметр используется для параметра name в статусе коммита Bitbucket. Дополнительную информацию см. в build в документации API Bitbucket.
Этот параметр используется для параметра context в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.
targetUrl -> (строка)
Указывает целевой URL статуса сборки, отправляемый CodeBuild поставщику источника. Использование этого параметра зависит от поставщика источника.
Этот параметр используется для параметра url в статусе коммита Bitbucket. Дополнительную информацию см. в build в документации API Bitbucket.
Этот параметр используется для параметра target_url в статусе коммита GitHub. Дополнительную информацию см. в разделе Создание статуса коммита в руководстве разработчика GitHub.
insecureSsl -> (булево)
sourceIdentifier -> (строка)
secondarySourceVersions -> (список)
Массив объектов ProjectSourceVersion. Каждый объект ProjectSourceVersion должен быть одним из:
- Для CodeCommit: идентификатор коммита, ветка или тег Git для использования.
- Для GitHub: идентификатор коммита, идентификатор pull-запроса, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указан идентификатор pull-запроса, он должен использовать формат
pr/pull-request-ID(например,pr/25). Если указано имя ветки, используется идентификатор коммита HEAD ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию. - Для Bitbucket: идентификатор коммита, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указано имя ветки, используется идентификатор коммита HEAD ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию.
- Для Amazon S3: идентификатор версии объекта, представляющего файл ZIP ввода сборки для использования.
(структура)
Идентификатор источника и соответствующая версия.
sourceIdentifier -> (строка)
sourceVersion -> (строка)
Версия источника для соответствующего идентификатора источника. Если указано, должно быть одно из:
- Для CodeCommit: идентификатор коммита, ветка или тег Git для использования.
- Для GitHub: идентификатор коммита, идентификатор pull-запроса, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указан идентификатор pull-запроса, он должен использовать формат
pr/pull-request-ID(например,pr/25). Если указано имя ветки, используется идентификатор коммита HEAD ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию. - Для GitLab: идентификатор коммита, ветка или тег Git для использования.
- Для Bitbucket: идентификатор коммита, имя ветки или имя тега, соответствующие версии исходного кода, которую вы хотите собрать. Если указано имя ветки, используется идентификатор коммита HEAD ветки. Если не указано, используется идентификатор коммита HEAD по умолчанию.
- Для Amazon S3: идентификатор версии объекта, представляющего файл ZIP ввода сборки для использования.
Дополнительную информацию см. в Примере версии источника с CodeBuild в Руководстве пользователя CodeBuild.
artifacts -> (структура)
Информация о выходных артефактах сборки.
location -> (строка)
sha256sum -> (строка)
Хэш SHA-256 выходного артефакта сборки.
Вы можете использовать этот хэш вместе с инструментом проверки контрольных сумм для подтверждения целостности и подлинности файла.
Примечание
Это значение доступно только в том случае, если значениеpackaging проекта сборки установлено в ZIP.md5sum -> (строка)
Хэш MD5 выходного артефакта сборки.
Вы можете использовать этот хэш вместе с инструментом проверки контрольных сумм для подтверждения целостности и подлинности файла.
Примечание
Это значение доступно только в том случае, если значениеpackaging проекта сборки установлено в ZIP.overrideArtifactName -> (логическое значение)
encryptionDisabled -> (логическое значение)
artifactIdentifier -> (строка)
bucketOwnerAccess -> (строка)
Указывает доступ владельца ведра для объектов, которые другое учётное запись загружает в их ведро Amazon S3. По умолчанию доступ к этим объектам имеет только учётная запись, которая загружает объекты в ведро. Это свойство позволяет предоставить доступ владельцу ведра к этим объектам.
Примечание
Для использования этого свойства ваша роль службы CodeBuild должна иметь разрешениеs3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.Это свойство может принимать одно из следующих значений:
Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.
Владелец ведра имеет только доступ для чтения к объектам. Загружающая учётная запись сохраняет владение объектами.
Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:
- Если ведро настроено с настройкой Bucket owner preferred, то владелец ведра владеет объектами. Загружающая учётная запись будет иметь доступ к объектам, как указано в политике ведра.
- В противном случае, загружающая учётная запись сохраняет владение объектами.
Дополнительную информацию о владении объектами Amazon S3 см. в разделе Управление владением загруженными объектами с помощью S3 Object Ownership в Руководстве пользователя Amazon Simple Storage Service.
secondaryArtifacts -> (список)
Массив объектов ProjectArtifacts.
(структура)
Информация о выходных артефактах сборки.
location -> (строка)
sha256sum -> (строка)
Хэш SHA-256 выходного артефакта сборки.
Вы можете использовать этот хэш вместе с инструментом проверки контрольных сумм для подтверждения целостности и подлинности файла.
Примечание
Это значение доступно только в том случае, если значениеpackaging проекта сборки установлено в ZIP.md5sum -> (строка)
Хэш MD5 выходного артефакта сборки.
Вы можете использовать этот хэш вместе с инструментом проверки контрольных сумм для подтверждения целостности и подлинности файла.
Примечание
Это значение доступно только в том случае, если значениеpackaging проекта сборки установлено в ZIP.overrideArtifactName -> (логическое значение)
encryptionDisabled -> (логическое значение)
artifactIdentifier -> (строка)
bucketOwnerAccess -> (строка)
Указывает доступ владельца ведра для объектов, которые другое учётное запись загружает в их ведро Amazon S3. По умолчанию доступ к этим объектам имеет только учётная запись, которая загружает объекты в ведро. Это свойство позволяет предоставить доступ владельцу ведра к этим объектам.
Примечание
Для использования этого свойства ваша роль службы CodeBuild должна иметь разрешениеs3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.Это свойство может принимать одно из следующих значений:
Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.
Владелец ведра имеет только доступ для чтения к объектам. Загружающая учётная запись сохраняет владение объектами.
Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:
- Если ведро настроено с настройкой Bucket owner preferred, то владелец ведра владеет объектами. Загружающая учётная запись будет иметь доступ к объектам, как указано в политике ведра.
- В противном случае, загружающая учётная запись сохраняет владение объектами.
Дополнительную информацию о владении объектами Amazon S3 см. в разделе Управление владением загруженными объектами с помощью S3 Object Ownership в Руководстве пользователя Amazon Simple Storage Service.
cache -> (структура)
Информация о кэше для сборки.
type -> (строка)
Тип кэша, используемого проектом сборки. Допустимые значения включают:
-
NO_CACHE: Проект сборки не использует кэш. -
S3: Проект сборки читает и записывает в S3. -
LOCAL: Проект сборки хранит кэш локально на хосте сборки, который доступен только этому хосту.
location -> (строка)
Информация о местоположении кэша:
-
NO_CACHEилиLOCAL: Это значение игнорируется. -
S3: Это имя/префикс ведра S3.
modes -> (список)
Массив строк, определяющих локальные режимы кэширования. Вы можете использовать один или несколько локальных режимов кэширования одновременно. Это используется только для типов кэша LOCAL.
Возможные значения:
Кэширует метаданные Git для основных и вторичных источников. После создания кэша последующие сборки извлекают только изменения между коммитами. Этот режим подходит для проектов с чистым каталогом работы и исходным кодом, который представляет собой большой репозиторий Git. Если вы выбрали этот вариант, а ваш проект не использует репозиторий Git (GitHub, GitHub Enterprise или Bitbucket), этот вариант игнорируется.
Кэширует существующие слои Docker. Этот режим подходит для проектов, которые строят или извлекают большие образы Docker. Это может предотвратить проблемы с производительностью, связанные с загрузкой больших образов Docker из сети.
Примечание
- Вы можете использовать кэш слоев Docker только в среде Linux.
- Флаг
privilegedдолжен быть установлен, чтобы ваш проект имел необходимые разрешения Docker. - Вы должны учитывать последствия для безопасности перед использованием кэша слоев Docker.
LOCAL_CUSTOM_CACHE
Кэширует каталоги, которые вы указываете в файле buildspec. Этот режим подходит, если ваша ситуация сборки не подходит ни для одного из трех других локальных режимов кэширования. Если вы используете пользовательский кэш:
- Для кэширования можно указывать только каталоги. Вы не можете указывать отдельные файлы.
- Символьные ссылки используются для ссылки на кэшированные каталоги.
- Кэшированные каталоги подключаются к вашей сборке перед загрузкой исходного кода проекта. Кэшированные элементы переопределяются, если элемент исходного кода имеет то же имя. Каталоги указываются с помощью путей кэша в файле buildspec.
(строка)
cacheNamespace -> (строка)
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 -> (длинное целое число)
memory -> (длинное целое число)
disk -> (длинное целое число)
machineType -> (строка)
instanceType -> (строка)
fleet -> (структура)
Объект ProjectFleet для использования в этом проекте сборки.
fleetArn -> (строка)
environmentVariables -> (список)
Набор переменных окружения, доступных для сборок в этом проекте сборки.
(структура)
Информация о переменной окружения для проекта сборки или сборки.
name -> (строка)
value -> (строка)
Значение переменной окружения.
Предупреждение
Категорически не рекомендуется использоватьPLAINTEXT переменные окружения для хранения конфиденциальных данных, особенно идентификаторов секретных ключей Amazon Web Services. PLAINTEXT переменные окружения могут отображаться в виде простого текста с помощью консоли CodeBuild и командной строки. Для конфиденциальных значений рекомендуется использовать переменную окружения типа PARAMETER_STORE или SECRETS_MANAGER.type -> (строка)
Тип переменной окружения. Допустимые значения включают:
-
PARAMETER_STORE: Переменная окружения, хранящаяся в хранилище параметров Systems Manager. Для переменных окружения этого типа укажите имя параметра в качествеvalueпеременной EnvironmentVariable. Значение параметра будет заменено на имя во время выполнения. Вы также можете определить переменные окружения Parameter Store в 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 -> (строка)
registryCredential -> (структура)
Учётные данные для доступа к частному репозиторию.
credential -> (строка)
Amazon Resource Name (ARN) или имя учётных данных, созданных с помощью Secrets Manager.
Примечание
credential может использовать имя учётных данных только если они существуют в вашем текущем регионе Amazon Web Services.credentialProvider -> (строка)
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 -> (строка)
message -> (строка)
serviceRole -> (строка)
logs -> (структура)
Информация о журналах сборки в CloudWatch Logs.
groupName -> (строка)
streamName -> (строка)
deepLink -> (строка)
deeplink будет действителен только после его создания.s3DeepLink -> (строка)
cloudWatchLogsArn -> (строка)
arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName} . Поток CloudWatch Logs создается на фазе PROVISIONING сборки, и ARN будет действителен только после его создания. Дополнительная информация см. в разделе Ресурсы, определенные CloudWatch Logs.s3LogsArn -> (строка)
arn:${Partition}:s3:::${BucketName}/${ObjectName} . Дополнительная информация см. в разделе Ресурсы, определенные Amazon S3.cloudWatchLogs -> (структура)
Информация о CloudWatch Logs для проекта сборки.
status -> (строка)
Текущий статус журналов в CloudWatch Logs для проекта сборки. Допустимые значения:
-
ENABLED: CloudWatch Logs включены для этого проекта сборки. -
DISABLED: CloudWatch Logs отключены для этого проекта сборки.
groupName -> (строка)
streamName -> (строка)
s3Logs -> (структура)
Информация о журналах S3 для проекта сборки.
status -> (строка)
Текущий статус журналов сборки S3. Допустимые значения:
-
ENABLED: Журналы сборки S3 включены для этого проекта сборки. -
DISABLED: Журналы сборки S3 отключены для этого проекта сборки.
location -> (строка)
my-bucket , а префикс пути - build-log , то допустимые форматы - my-bucket/build-log или arn:aws:s3:::my-bucket/build-log.encryptionDisabled -> (логическое)
bucketOwnerAccess -> (строка)
Определяет доступ владельца ведра для объектов, загружаемых другой учетной записью в их ведро Amazon S3. По умолчанию доступ к этим объектам имеет только учетная запись, которая загрузила их в ведро. Это свойство позволяет предоставить доступ к этим объектам владельцу ведра.
Примечание
Для использования этого свойства ваша роль службы CodeBuild должна иметь разрешениеs3:PutBucketAcl. Это разрешение позволяет CodeBuild изменять список управления доступом для ведра.Это свойство может принимать одно из следующих значений:
Владелец ведра не имеет доступа к объектам. Это значение по умолчанию.
Владелец ведра имеет только доступ для чтения к объектам. Загружающая учетная запись сохраняет владение объектами.
Владелец ведра имеет полный доступ к объектам. Владение объектами определяется следующими критериями:
- Если ведро настроено с параметром Bucket owner preferred, владелец ведра владеет объектами. Загружающая учетная запись будет иметь доступ к объектам в соответствии с политикой ведра.
- В противном случае загружающая учетная запись сохраняет владение объектами.
Дополнительную информацию о владении объектами Amazon S3 см. в разделе Управление владением загружаемыми объектами с помощью S3 Object Ownership в Руководстве пользователя Amazon Simple Storage Service.
timeoutInMinutes -> (целое число)
queuedTimeoutInMinutes -> (целое число)
buildComplete -> (логическое)
initiator -> (строка)
Сущность, которая начала сборку. Допустимые значения:
- Если сборку запустила CodePipeline, имя пайплайна (например,
codepipeline/my-demo-pipeline). - Если сборку запустил пользователь, имя пользователя (например,
MyUserName). - Если сборку запустил плагин Jenkins для CodeBuild, строка
CodeBuild-Jenkins-Plugin.
vpcConfig -> (структура)
Если ваш проект CodeBuild обращается к ресурсам в Amazon VPC, вы предоставляете этот параметр, который определяет идентификатор VPC и список идентификаторов групп безопасности и подсетей. Группы безопасности и подсети должны принадлежать одной VPC. Вы должны указать как минимум одну группу безопасности и один идентификатор подсети.
vpcId -> (строка)
subnets -> (список)
Список одного или нескольких идентификаторов подсетей в вашей Amazon VPC.
(строка)
securityGroupIds -> (список)
Список одного или нескольких идентификаторов групп безопасности в вашей Amazon VPC.
(строка)
networkInterface -> (структура)
Описание сетевого интерфейса.
subnetId -> (строка)
networkInterfaceId -> (строка)
encryptionKey -> (строка)
Ключ управления ключами (CMK) службы Key Management Service, который будет использоваться для шифрования артефактов выходных данных сборки.
Примечание
Вы можете использовать межсчетный ключ KMS для шифрования артефактов выходных данных сборки, если ваша роль службы имеет разрешения на этот ключ.Вы можете указать либо Amazon Resource Name (ARN) CMK, либо, если доступен, псевдоним CMK (в формате alias/<alias-name>).
exportedEnvironmentVariables -> (список)
Список экспортированных переменных среды для этой сборки.
Экспортированные переменные среды используются совместно с CodePipeline для экспорта переменных среды из текущей стадии сборки в последующие стадии пайплайна. Дополнительную информацию см. в разделе Работа с переменными в Руководстве пользователя CodePipeline.
(структура)
Содержит информацию об экспортированной переменной среды.
Экспортированные переменные среды используются совместно с CodePipeline для экспорта переменных среды из текущей стадии сборки в последующие стадии пайплайна. Дополнительную информацию см. в разделе Работа с переменными в Руководстве пользователя CodePipeline.
Примечание
Во время сборки значение переменной доступно начиная с фазыinstall. Оно может быть обновлено между началом фазы install и концом фазы post_build. После завершения фазы post_build значение экспортированных переменных изменить нельзя.name -> (строка)
value -> (строка)
reportArns -> (список)
Массив ARN, связанных с отчетами этой сборки.
(строка)
fileSystemLocations -> (список)
Массив объектов 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_. Например, если вы укажете my_efs для identifier, будет создана новая переменная среды с именем CODEBUILD_MY_EFS.
identifier используется для монтирования вашей файловой системы.
mountOptions -> (строка)
nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. Дополнительную информацию см. в разделе Рекомендуемые параметры монтирования NFS.debugSession -> (структура)
Содержит информацию о сеансе отладки для этой сборки.
sessionEnabled -> (логическое)
sessionTarget -> (строка)
buildBatchArn -> (строка)
autoRetryConfig -> (структура)
Информация об автоматической настройке повторных попыток для сборки.
autoRetryLimit -> (целое число)
RetryBuild для автоматического повторного выполнения вашей сборки до 2 дополнительных раз.autoRetryNumber -> (целое число)
nextAutoRetry -> (строка)
null.previousAutoRetry -> (строка)
null.
© Copyright 2025, Amazon Web Services. Created using Sphinx.