2017-09-03 2 views
3

Dies ist eine nicht mit dem Code zusammenhängende Lösung, aber ein allgemeiner Ansatz für die Testautomatisierung.Sollten wir einen anderen Server für Automatisierungsskripte verwenden

Ich habe eine Testautomatisierung in Javascript geschrieben, die perfekt auf meiner Maschine sowie meine lokalen Jenkins läuft.

Jetzt möchte ich den Server meines Unternehmens (CentOS) und Jenkins verwenden, so dass es für jeden in meiner Organisation zugänglich ist. Problem: Die Version von NodeJs auf dem Server des Unternehmens muss aktualisiert werden, um meine Automatisierung auszuführen, aber das Serverteam tut dies nicht, da sie nicht sicher sind, ob andere Teams aufgrund des Upgrades andere Funktionen verwenden.

Haben Sie diese Situation konfrontiert. Haben Sie verschiedene Server für Kerncode und Automatisierungsskripte? Bitte vorschlagen.

Antwort

1

Dies ist eine komplexe Situation, die wirklich von vielen Variablen abhängt. Ich würde empfehlen, einen Agenten zu verwenden, der die richtige Version von Nodejs enthält. Mit dieser Lösung können Sie den aktuellen Build-Server so belassen, wie er ist, aber Sie können auch genau die Version des Knotens verwenden, die Sie benötigen. Dies erfordert einen zusätzlichen Server/VM mit der Jenkins-Slave-Software, aber dadurch entfällt die Notwendigkeit, den Master-Server zu ändern.

Die Lösung meiner Firma verwendet Jenkins 2.x mit deklarativen Pipelines und ephemeren Docker Containern für Builds. Auf diese Weise können Sie ein beliebiges Docker-Bild wie z. B. the official Node image verwenden. Sie können eine Version anheften und damit aufbauen. Damit müssen Sie sich keine Gedanken über die Version auf dem Server machen. Jenkins Master muss nicht einmal tatsächlich bauen.

Verwandte Themen