2017-06-28 1 views
0

Ich habe einen sehr angepassten TFS 2013 XAML-Build-Workflow. Es verfügt über angepasste Codes, die auf dem Build-Controller ausgeführt werden, um eine erstellte virtuelle Maschine zu starten/stoppen. Ist es möglich, eine benutzerdefinierte Aufgabe außerhalb der Maschine des Erstellungsagenten auszuführen? Wenn ja, wo und wie.Starten/Stoppen von TFS Erstellen von VMs in vNext nach jedem Build

Antwort

0

Für das vNext Build-System, können Sie eine Batch-Skript oder Powershell Aufgabe als Ende Task hinzufügen jeden Befehl Sie benötigen laufen.

Batch-Skript zum Beispiel:

  1. Erstellen Sie eine cmd-Datei mit dem Befehl zum Starten/Stoppen TFS VMs bauen.
  2. Überprüfen Sie in der cmd-Datei.
  3. Führen Sie die cmd-Datei mit Batch Script-Aufgabe aus.

Wenn Sie aufhören wollen/Starten Sie den Agent-Dienst: (Referenz this article)

net stop <Service-Name> 
net start <Service-Name> 

Wenn Sie zum Herunterfahren/die Remote-Computer neu starten: (Referenz this article)

Shutdown : shutdown /m \\machinenameOrIP/s /t 0 
Restart : shutdown /m \\machinenameOrIP /r /t 0 

Für die Befehle zum Starten/Stoppen von VM Finden Sie unter diesem Link: https://technet.microsoft.com/en-us/itpro/powershell/windows/hyper-v/start-vm

Hinweis:

Was auch immer Sie ausführen, stellen Sie sicher, befiehlt das Dienstkonto die ausreichende Berechtigung hat sie auf den VMs zu laufen.

Update:

Wir können nicht die VM in Build-Prozess starten, wenn der Build-VM heruntergefahren wird, weil der Build-Dienst nicht gestartet wird, muss der Build-Agent online sein.

+0

Danke für Ihre Antwort. –

+0

Ja, die Befehle net stop und Shutdown innerhalb einer Batch-Skript-Aufgabe am Ende des Builds funktionieren für mich. Allerdings müssen wir den VM-Startbefehl als Teil der Build-Prozesse ausführen. Der VM-Startbefehl kann nicht innerhalb der Build-VM ausgeführt werden, da er heruntergefahren wurde. Mit unserem XAML-Skript haben wir dies codiert, um den VM-Start-Befehl auf dem Build-Controller-Teil des Workflows auszuführen. Gibt es einen ähnlichen Mechanismus in vNext, in dem benutzerdefinierte Tasks als Teil des Buildprozesses auf dem TFS-Server ausgeführt werden können? –

+0

@ A.Poon Nein, Sie können den Build-Agent-Rechner nicht als Teil des Build-Prozesses in Vnext Build starten, der Build-Agent muss online sein. –

Verwandte Themen