Ich begann mit dem GitLab CI mit dem gitlab-ci-multi-runner für Windows (64bit) zu arbeiten. Alles funktioniert soweit, es gibt Verbindungen zu meinen Repositories und meine konfigurierten Jobs werden bei jedem Push gestartet.So führen Sie Tests automatisch in GitLab CI mit gitlab-ci-multi-runner aus
Was will ich jetzt zu tun ist, einen Job zu haben, die npm install
läuft alle Abhängigkeiten und einen Job zur herunterladen, die mit Karma/Jasmin geschrieben all meinen Tests führen durch karma start karma.conf.js
oder mit Grunzen läuft und grunt test
läuft.
So ist der erste Job, den ich versuchte, war:
cd app
npm install
karma start karma.conf.js
Die ersten beiden Befehle ausgeführt werden sollen, aber der letzte ist völlig ignoriert. Also habe ich versucht, die Jobs zu teilen. Die ersten Befehle erhalten ihren eigenen Job (Tab "parallel ausführen") und der letzte wurde in einen eigenen Job in der Registerkarte "run on success" verschoben. Jetzt werden alle Abhängigkeiten installiert und der zweite Job startet. So weit so gut, aber der zweite Job beginnt mit dem Entfernen aller zuvor installierten Abhängigkeiten und versucht dann, karma start karma.conf.js
auszuführen. Dies führt offensichtlich dazu, dass alle Tests fehlschlagen, weil die npm-Abhängigkeit "angular-mocks" nicht heruntergeladen wurde. Wenn ich npm install
zum zweiten Job hinzufüge (was für mich nicht so viel Sinn macht), wird die Karma-Aufgabe wieder ignoriert.
Was ist das Problem hier? Wie kann ich das beheben? Und gibt es eine Möglichkeit, nicht immer alle Abhängigkeiten bei jeder Testausführung herunterzuladen?
Haben Sie das jemals mit '.gitlab-ci.yml' zu tun? – montrealist
Ja! Funktioniert perfekt jetzt :)! Ich werde meine Lösung unten posten. – error1337