2017-02-02 7 views
0

Ich habe ein Shell-Skript geschrieben, das Linux-spezifische Befehle verwendet und auf einer RHEL7 EC2-Instanz gehostet wird. Dies ist kein Problem, da es von jedem Unix-Computer ausgeführt werden kann.Ausführen eines Shell-Skripts über Jenkins unter Windows Server 2008

Wie kann ich einen Jenkins-Job erstellen, der dieses Skript erfolgreich ausführt? Das Skript funktioniert auf jedem Unix-Rechner einwandfrei, aber ich finde keine Möglichkeit, den Befehl über einen Jenkins-Job auszuführen, der in einer Windows Server 2008-Umgebung gehostet wird.

Bis jetzt habe ich versucht, die SSH-Plug-Ins für Jenkins hinzuzufügen (habe einen Fehler bezüglich meines privaten Schlüssels, aber ich habe bestätigt, dass es korrekt ist) und ich habe versucht, remote Verbindung zum Linux-Server über PuTTY-Befehlszeile (plink) und passiere den Benutzernamen/das Passwort gefolgt von dem Skript, das ich gerne laufen würde, aber kein Glück.

Ich habe mich nur gefragt, ob jemand eine ähnliche Herausforderung angetroffen hat und mich auf den richtigen Weg führen könnte, ich habe Stunden damit verbracht, verschiedene Methoden/Konfigurationen ohne Glück zu erforschen.

Vielen Dank im Voraus.

Hinweis: Ich habe auch versucht, Cygwin lokal zu installieren und das Skript auf diese Weise auszuführen, aber es hat nicht funktioniert, wahrscheinlich aufgrund meiner eigenen Konfiguration - es scheint jedoch für mein Szenario übertrieben.

+0

Sie könnten den Server zu einem jenkins-Agenten machen und den Job an diesen Agenten anheften. – jordanm

+0

Ich habe es versucht, es klagt über meinen privaten Schlüssel - Der private Schlüssel ist jedoch korrekt. Ich verwende den privaten Schlüssel, den AWS mir an SSH in meine EC2-Instanz schickt. Ist das korrekt? – jto

+0

Hier ist meine Fehlermeldung von dem Versuch, mich über die Jenkins-Konsole beim Agenten anzumelden: 'code' Zeitüberschreitung der Verbindung: connect FEHLER: Unerwarteter Fehler beim Starten eines Slaves. Dies ist wahrscheinlich ein Fehler in Jenkins. java.lang.IllegalStateException: Verbindung ist nicht hergestellt! – jto

Antwort

0

Ich habe es am Ende funktioniert, ging ich zurück auf die Agent-Idee nach @ Jordanm Kommentar - ich konnte es nicht über Benutzername/Private Key-Authentifizierung zu arbeiten, aber eine einfache Benutzername/Passwort-Kombination hat gut funktioniert.

Ich habe einen Jenkins-Benutzer auf meinem Remote-Computer eingerichtet und erstellt ein Root-Verzeichnis, das ich in Jenkins definiert, fügte den Build-Schritt in meinen Job und arbeitete erstmals.

Verwandte Themen