2017-02-16 1 views
2

J'essaie d'utiliser AWS CodeBuild pour mon projet. Ma construction est en cours d'exécution sur l'image aws/codebuild/docker:1.12.1. Ceci est mon buildspec.yml, qui a été tiré de la AWS Docker SamplePourquoi mes commandes AWS CodeBuild ne s'exécutent-elles pas?

version: 0.1 

phases: 
    pre_build: 
    commands: 
     - echo Logging in to Amazon ECR... 
     - $(aws ecr get-login --region $AWS_DEFAULT_REGION) 
    build: 
    commands: 
     - echo Build started on `date` 
     - echo Building the Docker image...   
     - docker build -t $IMAGE_REPO_NAME . 
    post-build: 
    commands: 
     - echo Build completed on `date` 
     - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG 
     - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG 

Toutes les variables d'environnement sont définies dans la configuration de construction. Mais ceci est ma CodeBuild sortie du journal:

[Container] 2017/02/16 22:04:24 Waiting for agent 
[Container] 2017/02/16 22:04:33 Phase is DOWNLOAD_SOURCE 
[Container] 2017/02/16 22:04:34 Source is located at /tmp/src733484785/src 
[Container] 2017/02/16 22:04:34 YAML location is /tmp/src733484785/src/buildspec.yml 
[Container] 2017/02/16 22:04:34 Registering with agent 
[Container] 2017/02/16 22:04:34 Phases found in YAML: 3 
[Container] 2017/02/16 22:04:34 PRE_BUILD: 2 commands 
[Container] 2017/02/16 22:04:34 BUILD: 3 commands 
[Container] 2017/02/16 22:04:34 POST-BUILD: 3 commands 
[Container] 2017/02/16 22:04:34 Phase complete: DOWNLOAD_SOURCE Success: true 
[Container] 2017/02/16 22:04:34 Phase context status code: Message: 
[Container] 2017/02/16 22:04:34 Processing plaintext environment variables 
[Container] 2017/02/16 22:04:34 Processing build-level environment variables 
[Container] 2017/02/16 22:57:53 {"AWS_DEFAULT_REGION":"<censored>","AWS_ACCOUNT_ID":"<censored>","IMAGE_TAG":"<censored>","IMAGE_REPO_NAME":"<censored>"} 
[Container] 2017/02/16 22:57:53 AWS_DEFAULT_REGION = <censored> 
[Container] 2017/02/16 22:57:53 AWS_ACCOUNT_ID = <censored> 
[Container] 2017/02/16 22:57:53 IMAGE_TAG = <censored> 
[Container] 2017/02/16 22:57:53 IMAGE_REPO_NAME = <censored> 
[Container] 2017/02/16 22:04:34 Processing builtin environment variables 
[Container] 2017/02/16 22:04:34 Moving to directory /tmp/src733484785/src 
[Container] 2017/02/16 22:04:34 Preparing to copy artifacts 
[Container] 2017/02/16 22:04:34 No artifact files specified 

CodeBuild voit mes commandes, mais il ne les exécute pas! La construction est marquée comme réussie. Est-ce que quelqu'un sait ce que j'ai fait de mal ici? MISE À JOUR: J'avais besoin de changer post-build à post_build. La construction tire maintenant l'image maven pour construire le pot, puis docker construit l'image. De cette façon, mon pot ne contient pas le code source, et l'image ne contient pas maven et le jdk. Ceci est mon travail buildspec.yml:

version: 0.1 

phases: 
    pre_build: 
    commands: 
     - echo Logging in to Amazon ECR... 
     - $(aws ecr get-login --region $AWS_DEFAULT_REGION) 
     - echo Pulling maven image... 
     - docker pull maven:3.3-jdk-8 
    build: 
    commands: 
     - echo Build started on `date` 
     - echo Building jar... 
     - docker run -i --rm -w /opt/maven -v $PWD:/opt/maven -v $HOME/.m2:/root/.m2 maven:3.3-jdk-8 mvn clean install 
     - echo Building Docker Image... 
     - docker build -t $IMAGE_REPO_NAME . 
     - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG 
    post_build: 
    commands: 
     - echo Build completed on `date` 
     - echo Pushing Docker image... 
     - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG 
+0

Je ne sais pas ce que j'ai fait, mais ça a commencé à fonctionner. Est-ce que quelqu'un sait ce que la source de la desquamation aurait pu être? – zalpha314

+0

avez-vous compris pourquoi vous avez eu ce travail? Je pense que j'ai le même problème – cdimitroulas

+0

@cdimitroulas, non, mais je pense que cela a à voir avec l'indentation et l'espacement des listes. YAML est très difficile à propos de tout ça. – zalpha314

Répondre