2017-08-07 3 views
2

Ich habe eine Build-Pipeline unter Windows ausgeführt, die ich nicht nach Linux verschieben kann, der Grund ist, dass SQL Server-Tools verwendet derzeit nicht auf der RC1-Version von SQL Server unter Linux . Daher ist meine einzige Option zum Ausführen meiner Build-Pipeline, die SQL Server in Containern auf einem Linux-Rechner hochfahren muss, Jenkins auf Windows zu halten. Meine Frage ist, was ist der eleganteste Weg, um einen Container auf einem Remote - Linux - Host von einem Windows - Server zu erstellen? Ich könnte Remote-Shells verwenden, aber das scheint eine wirklich klobige Art, Dinge zu tun.Erstellen von Docker-Container unter Linux von Jenkins unter Windows

+0

Können Sie Jenkins nicht verwenden (Jenkins ist auf dem Windows-Host installiert), um diese Aufgabe auszuführen? Installieren Sie einen Slave auf dem Linux-Host und führen Sie einen Job aus, um die darin enthaltene SQL-Instanz aufzurufen. – ANIL

+0

Dies würde für das Hochdrehen des Containers funktionieren, allerdings müsste ich noch sqlpackage von der Windows-Maschine aufrufen, ist es mit Jenkins möglich, einen Teil der Build-Pipeline vom Master ausführen zu lassen und dann vom Slave zu teilen? – ChrisAdkin

+0

Verwenden Sie Pipeline-Job mit einer Jenkins-Datei? – ANIL

Antwort

2

Sie können dies tun, indem Sie eine slave der Jenkins Installation auf Ihrem Linux Maschine (das in Windows Host installiert ist) und einen Job auszuführen, die eine SQL-Container bringen wird.

Da Sie mit einem Pipeline Job und wollen einige Schritte in den Master auszuführen und dann in Remote-Hosts aus Ihrem Windows Host die SQL-Pakete aufrufen können Sie die folgenden Syntax folgen, dass Job in einer einzigen Pipeline zu erreichen:

node('master') { 
................... 
<some task to perform> 
................... 
} 
node('slave1 && slave2') { 
................... 
<some task to perform> 
................... 
} 
Verwandte Themen