2017-07-24 4 views
1

Mein Team verfügt über mehrere Concourse-Pipelines, und da wir Aufgaben umgestalten, haben wir erkannt, dass unsere tatsächlichen Pipelines getestet werden müssen.So testen Sie Concourse-Pipelines

Wir testen unsere Aufgaben bereits, indem wir Umgebungsvariablen verwenden, die es ermöglichen, Task-Skripts lokal auszuführen, aber die Pipeline-Yaml ist eine andere Sache.

Was ist der beste Weg, um die Pipeline selbst zu testen?

+0

Welche Arten von Tests möchten Sie speziell ausführen? –

+0

Ich frage mich, wie ich herausfinden kann, bevor meine gesamte Pipeline rot wird, dass jemand etwas wie misconfigure die Ressource Pool-Sperre oder die Git Release-Ressource zum Beispiel getan hat. Im Produktionscode würden uns unsere Tests diese Dinge sagen, deshalb sage ich, dass ich suche, wie ich die Pipeline selbst testen kann. –

Antwort

0

Sie können das Concourse Pipeline Resource verwenden, um das Git-Repository zu überwachen, in dem Sie Ihre Pipeline-Konfiguration beibehalten. Wenn die Pipeline-Ressource eine Änderung erkennt, wird automatisch eine fly set-pipeline ausgeführt, um die Konfiguration in Ihrer laufenden Concourse-Installation zu aktualisieren. Von dort aus können Sie problemlos Tests mit der aktualisierten Pipeline durchführen, die jetzt in Ihrer Concourse-Installation ausgeführt wird.

0

fly validate-pipeline ist ziemlich nützlich, läuft das gegen Pipelines vor dem Zusammenführen hat ein paar Fehler in "offensichtlich richtig" Änderungen für mich gefangen.

Wenn Sie die gesamte Pipeline vor dem Zusammenführen testen möchten, müssen Sie sicherstellen, dass die Daten statisch sind und funktionieren (kein Sinn, wenn die Pipeline fehlschlägt, wenn das Repo kaputt ist) und dass es keine Nebenwirkungen gibt (wie Benachrichtigungen), die zwischen der "echten Pipeline" und der "Test-Pipeline" ausgetauscht werden. Ich vermute, dass Sie, solange Sie mit den Einschränkungen vorsichtig sind, das System zum Laufen bringen können, aber es muss im Kontext Ihrer bestehenden Pipelines und Infrastruktur entwickelt werden.