Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Creación de un proyecto de compilación con varias entradas y salidas
Utilice el siguiente procedimiento para crear un proyecto de compilación con varias entradas y salidas.
Para crear un proyecto de compilación con varias entradas y salidas
-
Cargue las fuentes en uno o más buckets de S3 o en uno o más repositorios de CodeCommit, GitHub, GitHub Enterprise Server o Bitbucket.
-
Elija cuál es el origen principal. Esta es la fuente donde CodeBuild busca el archivo de especificaciones de compilación y lo ejecuta.
-
Cree un proyecto de compilación. Para obtener más información, consulte Creación de un proyecto de compilación en AWS CodeBuild.
-
Cree el proyecto de compilación, ejecute la compilación y obtenga información sobre esta.
-
Si usa la AWS CLI para crear el proyecto de compilación, es posible que el resultado con formato JSON del comando
create-projecttenga un aspecto similar al siguiente:{ "name": "sample-project", "source": { "type": "S3", "location": "<bucket/sample.zip>" }, "secondarySources": [ { "type": "CODECOMMIT", "location": "https://git-codecommit.us-west-2.amazonaws.com/v1/repos/repo", "sourceIdentifier": "source1" }, { "type": "GITHUB", "location": "https://github.com/awslabs/aws-codebuild-jenkins-plugin", "sourceIdentifier": "source2" } ], "secondaryArtifacts": [ss { "type": "S3", "location": "<output-bucket>", "artifactIdentifier": "artifact1" }, { "type": "S3", "location": "<other-output-bucket>", "artifactIdentifier": "artifact2" } ], "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/standard:5.0", "computeType": "BUILD_GENERAL1_SMALL" }, "serviceRole": "arn:aws:iam::account-ID:role/role-name", "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID" }
El origen principal se define en el atributo source. El resto de orígenes se denominan secundarios y aparecen en secondarySources. Todos los orígenes secundarios se instalan en su propio directorio. Este directorio se almacena en la variable de entorno integrada CODEBUILD_SRC_DIR_. Para obtener más información, consulte Variables de entorno en los entornos de compilación. sourceIdentifer
El atributo secondaryArtifacts contiene una lista de definiciones de artefacto. Estos artefactos usan el bloque secondary-artifacts del archivo buildspec anidado en el bloque artifacts.
Los artefactos secundarios del archivo buildspec tienen la misma estructura que el resto de artefactos y se separan mediante el identificador correspondiente.
nota
En la API de CodeBuild, artifactIdentifier de un artefacto secundario es un atributo obligatorio en CreateProject y UpdateProject. Debe utilizarse para hacer referencia a un artefacto secundario.
Si se utiliza la entrada con formato JSON anterior, el archivo buildspec del proyecto puede tener este aspecto:
version: 0.2 phases: install: runtime-versions: java: openjdk11 build: commands: - cd $CODEBUILD_SRC_DIR_source1 - touch file1 - cd $CODEBUILD_SRC_DIR_source2 - touch file2 artifacts: files: - '**.*' secondary-artifacts: artifact1: base-directory: $CODEBUILD_SRC_DIR_source1 files: - file1 artifact2: base-directory: $CODEBUILD_SRC_DIR_source2 files: - file2
Puede reemplazar la versión del origen principal mediante la API con el atributo sourceVersion en StartBuild. Para reemplazar una o varias versiones de origen secundario, utilice el atributo secondarySourceVersionOverride.
Es posible que la entrada con formato JSON del comando start-build de la AWS CLI tenga este aspecto:
{ "projectName": "sample-project", "secondarySourcesVersionOverride": [ { "sourceIdentifier": "source1", "sourceVersion": "codecommit-branch" }, { "sourceIdentifier": "source2", "sourceVersion": "github-branch" }, ] }