2015-04-27 5 views
7

Ich habe ein CircleCI schaffen verwaltet bauen, dass eine nachfolgende Build mit ihrem API curl mit auslöst. Ich habe dies hinzugefügt, um meine circle.yml:Auf CircleCI, wie kann ich auslösen ein Build nach der anderen, aber nur die ersten, wenn grün

test: 
override: 
    - mvn test -s settings.xml 
    - mvn deploy -Prun-its -s settings.xml 
    - curl -v -X POST https://circleci.com/api/v1/project/alexec/docker-maven-plugin/tree/master?circle-token=$CIRCLE_TOKEN 

Wie kann ich auslösen nur, wenn alle vorherigen Schritte grün sind?

+0

Es scheinen würde '$ CIRCLE_TOKEN' AUTHs nur den aktuellen Repo (oder etwas), einen zweiten privaten Repo Sie einen API-Schlüssel müssen auslösen erzeugen und in einem env var speichern. – MrYellow

Antwort

10

Ich denke, Sie sollten dies in der deployment Abschnitt tun: Da dies - per Definition - nur ausgeführt wird, wenn alles in Ordnung ist, sollte dies den Trick tun.

Siehe their documentation on deployment für weitere Einzelheiten. Dort heißt es:

Diese Befehle werden erst nach einem erfolgreichen (grünen) Build ausgelöst.

+0

Ehrfürchtig. Vielen Dank. –

1

Sie sollten eine requires Variable in Ihrem Job haben, dass Sie nur ausgeführt werden soll, wenn der vorherige Auftrag ausgeführt wurde. Daher geben Sie der requires-Variable einen Wert des Jobnamens, der zuerst erfolgreich ausgeführt werden soll, bevor die Jobs wieder ausgeführt werden.

Sehen Sie folgendes Beispiel: https://circleci.com/docs/2.0/configuration-reference/