2016-04-18 3 views
0

Ich bin im Moment ziemlich neu bei jenkins, also versuche ich mich mit den Möglichkeiten auseinanderzusetzen, die Jenkins hat. Ich würde es schätzen, wenn jemand mir mit einer spezifischen Situation helfen kann, die in Dummiesprache erklärt wird :)Jenkins Dateiübertragung von Windows zu Linux mit SCP

Derzeit versuche ich einen Weg zu finden, eine Dateiübertragung zu automatisieren (ein kleiner Job Teil von dem, was ich eigentlich will) von meiner Windows 7-Umgebung zu einem Linux-Server-Verzeichnis mit der Verwendung von Jenkins. Ich habe einige Möglichkeiten über die Verwendung eines SCP-Plugins gelesen. Kann mir jemand helfen und mir sagen, wie ich das erreichen kann? Oder gib mir wenigstens einen Schub in die richtige Richtung.

Um die Dinge ein wenig enger zu machen: Ich verwende Windows-Batch-Befehle in Jenkins, um eine VBscript-Datei auszuführen (Eine Excel-Datei, die Testdaten generiert und extrahiert, als .csv-Datei). Mit der Verwendung des Windows-Batch-Befehls kann ich diese Datei wieder aufnehmen und an einem zufälligen Ort in meiner Windows 7-Umgebung platzieren. leicht gemacht. Was ich jedoch wirklich möchte, ist, dass ich diese extrahierte .csv-Datei abholen und in ein Linux-Serververzeichnis legen kann. Eine Anwendung, die wir in unserer Linux-Umgebung installiert haben, sucht weiterhin nach einem bestimmten Verzeichnis und verarbeitet eine Datei, die dort abgelegt ist. So lange Geschichte kurz. Ich möchte eine .csv-Datei von meiner Windows-Umgebung in eine bereits aktive Linux-Umgebung übertragen. Und das mit dem Einsatz von Jenkins, um diesen Prozess weiter zu automatisieren.

Vielen Dank im Voraus

+0

Ich lese die Add-on-Wiki-Seite und konnte keinen Hinweis finden, dass es für Windows funktionieren würde. Es könnte. Außerdem ist dies ein allgemeiner SFTP-Upload-Job, den Sie mit einem anderen Script/API auf Ihrem Client ausführen können, aber Sie benötigen immer noch einen SFTP-Server auf Ihrem Linux-Server und alle typischen Linux-Übertragungsprobleme wie Kodierung und Leitungsunterbrecher usw. Gibt es kurze Details zu dem Prozess, der versucht, Sie zu archivieren? Wie Upload-Quelle von Windows für Linux zu erstellen, oder Upload-Release auf Linux für die Bereitstellung usw.? –

+0

Hallo @KaiZhao. Danke für die Antwort und die Frage. Ich habe versucht, einige Details hinzuzufügen. Hoffe, das wird die Dinge ein wenig für Sie aufklären. –

Antwort

0

Es könnte in der Tat ein Jenkins Plugin sein, die dabei helfen könnten. Mein Ansatz wäre jedoch, einen SCP-Client auf dem Windows-Rechner zu installieren und dann einen Jenkins-Build zu erstellen, der den SCP-Client für die Dateiübertragung verwendet.

Die Schritte könnte wie folgt aussehen:

  1. Wenn Ihr Windows-Rechner Ihre Jenkins Master ist, nur mit dem nächsten Schritt weitergehen - aber wenn Ihr Jenkins Master eine andere Maschine ist, zunächst die Windows-Knoten verbinden an den Meister, wenn du das nicht schon gemacht hast.

  2. Auf dem Windows-Rechner installieren Git für Windows (die auch scp bietet, bash und andere nützliche Befehle):

https://git-scm.com/

Während des Git installieren, wenn Sie dazu aufgefordert, stellen Sie sicher, Wählen Sie die Option, um alle Unix-Utils in Ihren PATH zu setzen, damit Jenkins den Befehl scp aufrufen kann.

Wenn Sie dies versuchen und danach Probleme auftreten, gibt es viele andere Ansätze, die das tun - aber dieser Ansatz ist der einfachste IMO, und Sie werden wahrscheinlich in vielen anderen Situationen die Utilities des Git-Pakets nutzen können.

Wenn Sie es am Ende brauchen, ist eine Liste von alternativen Kommandozeilen-SSH/SCP-Clients für Windows verfügbar unter: http://www.openssh.com/windows.html (Ich empfehle Putty/Pscp, wenn Sie den Git-Installer aus irgendeinem Grund nicht verwenden können.)

  1. Erstellen Sie einen Jenkins-Build, und fügen Sie in den Build-Schritten einen Schritt Execute Windows batch command hinzu.

Im Skript-Editor Ihre scp Befehl hinzufügen:

scp path/to/your/file [email protected]:remote/path/goes/here

Beachten Sie, dass, wenn der Befehl nicht wieder erfolgreich, wird Jenkins bemerken, und setzen Sie den Build-Status fehlgeschlagen.

Verwandte Themen