2017-04-19 3 views
1

Ich verwende GitLab 8.8.2-ee. Ich möchte "Interleaving" von Jobs vermeiden.Jobs in Straight ohne Interleaving auf Gitlab

nehme ein Repo-R Aufträge A hat und B, wobei B auf A. hängt Wenn mehrere Commits sind, werden Jobs wie

manchmal verschachtelt

A1 -> A2 -> B1 -> B2

Aber ich mag folgende Reihenfolge:

A1 -> B1 -> A2 -> B2 oder A2 -> B2 -> A1 -> A1

gibt es eine Möglichkeit, dies zu zwingen?

Antwort

1

Sie könnten Gruppe Ihre Jobs in ein Job, die Stufen in its .gitlab-ci.yml

definieren würde Siehe "Run jobs sequentially"

Wir wollen nur das 'Paket' Auftrag ausgeführt, wenn die Tests erfolgreich sind . Lassen Sie uns die Bestellung mit der Angabe Stufen definieren:

stages: 
    - test 
    - package 

test: 
    stage: test 
    script: cat file1.txt file2.txt | grep -q 'Hello world' 

package: 
    stage: package 
    script: cat file1.txt file2.txt | gzip > packaged.gz 
    artifacts: 
    paths: 
    - packaged.gz 
+0

Wenn Sie drücken wiederholt dies noch werden führen zu inszenieren „Test“ für jede verpflichten, bevor Sie fortfahren Zustand „Paket“ ausgeführt verpflichtet. Dies bedeutet, dass Sie eine Menge unfertiger Jobs haben, die darauf warten, dass alle "Test" -Phasen abgeschlossen sind, bevor Sie fortfahren. Gibt es eine Möglichkeit, immer alle Phasen von einem Job zu beenden, bevor Sie mit dem nächsten Job fortfahren? – wkarl

+0

@wkarl Nicht sicher eigentlich: das könnte eine gute Frage sein. – VonC

Verwandte Themen