2017-01-17 4 views
11

Ich habe eine AWS CodePipeline, die CodeBuild in der Build-Phase aufruft.AWS Pass in Variable in buildspec.yml von CodePipeline

Die Frage ist, wie übergebe ich eine Umgebungsvariable von CodePipeline, die in der buildspec.yml von CodeBuild gelesen werden kann?

Ich weiß, ich kann Umgebungsvariablen in CodeBuild festlegen, aber ich möchte das gleiche CodeBuild-Projekt für Dev, Qa und Prod-Umgebungen verwenden. Ich sehe nicht, wie ich eine Umgebungsvariable aus CodePipeline passieren kann, dass es den ganzen Weg zum buildspec.yml die Variable

Beispiel buildspec.yml

version: 0.1 

phases: 
    build: 
    commands: 
     - npm install 
     - npm build -- --env ${CURRENT_ENVIRONMENT} 

Wo CURRENT_ENVIRONMENT ich in dem Satz wäre macht CodePipeline Stage-Aktion.

+1

Für alle Interessierten, die Art, wie ich um dieses bekam ist Sie Umgebungsvariablen in CodeBuild festlegen können, übergeben bekommen buildspec.yml . Solange Sie Ihre Parameter in der AWS :: CodeBuild :: Project CloudFormation-Deklaration abrufen können, werden sie bei der Ausführung von buildspec.yml erkannt. – user1432403

+0

Dies ist eine ziemlich unglückliche Einschränkung. Ich habe einen AWS-Forum-Thread dazu [hier] hinzugefügt (https://forums.aws.amazon.com/message.jspa?messageID=770850#770850). Überlegen Sie sich, ob AWS wissen soll, ob dies für Sie wichtig ist . – jandersen

+0

Wie verwendet man Umgebungsvariablen in buildspec.yml: npm build --env $ THE_VARIABLE – ricka

Antwort

Verwandte Themen