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
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:
- Erstellen Sie eine cmd-Datei mit dem Befehl zum Starten/Stoppen TFS VMs bauen.
- Überprüfen Sie in der cmd-Datei.
- 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.
- 1. Build-Skript verschieben vNext TFS 2015
- 2. TFS 2015 vNext Build-Konfiguration + FIPS
- 3. Ausführen von xUnit mit TFS 2015 vNext Build
- 4. TFS vNext Baut nicht
- 5. Trigger VNext Build mit VNext Build
- 6. TFS 2015 "vNext" Build für Webprojekt in Lösung
- 7. TFS 2015 vNext UsingTask
- 8. TFS vNext erstellt Probleme nach Update 3
- 9. Call Build vNext Task direkt
- 10. TFS Erhalte sowohl XAML- als auch VNEXT-Build-Definitionen
- 11. Quelldateiversion für vNext build
- 12. TFS 2013 Konvertieren von XAML-Build-Definition auf TFS 2015 vNext bauen
- 13. Angeben von NUnit-Kategorien mit TFS vNext (2015)
- 14. TFS 2015 Build vNext: Dateien über WebDAV hochladen?
- 15. Wie TFS Build manuell von Jenkins
- 16. TFS 2015 Build vNext $ (Rev: .rr) stuck at 1
- 17. Wie Build vnext Build Agent Ausführungszeit erhöhen?
- 18. vNext build process: Wie schiebe ich die Datei nach dem Update, zurück zu tfs git?
- 19. TFS Build Drop-Ordner
- 20. InstallShield-Projekt mit TFS-Build erstellen
- 21. Abhängigkeitsprobleme beim Erstellen von .NET Core Build auf TFS
- 22. ASP.NET 5 (vNext) Bereitstellung über TFS 2015
- 23. TFS2015 vNext Build "Build-Eincheck-Richtlinie"
- 24. In TFS 2015 können Sie für einen vNext-Build die Build-Protokolle in einem Build-Schritt lesen?
- 25. Integration Build-Spalte wird nicht nach einem TFS-Build aktualisiert
- 26. Wie Sie einen Build-Agenten in vNext Build angeben
- 27. TFS 2015 Build Variable Erweiterung
- 28. TFS vNext Builds - Gated-Check-in Trigger werden nach der ersten Definition nicht mehr ausgelöst
- 29. VSTS Build vNext NuGet benutzerdefiniertes Paket Quelle
- 30. Ausführen von TFS Build 2015 Schritte parallel
Danke für Ihre Antwort. –
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? –
@ 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. –