Kann ich Grunt mit TFS verwenden?

7

Mein neues Projekt braucht mich, um mit TFS + Git zu arbeiten.

Geständnis: Ich weiß nichts über TFS.

Ich möchte einen Build für mein JavaScript-Projekt einrichten. Ich möchte Grunt verwenden.

Ist das möglich? Hat jemand Grunt mit TFS benutzt?

    
Sri 01.07.2013, 07:11
quelle

6 Antworten

18

In unserem aktuellen Projekt verwenden wir Grunt und TFS. Ich habe Grunt mit TFS integriert, indem ich es aus einer Bat-Datei abgeleitet habe, die Sie im Pre- oder Post-BuildEvents Abschnitt Ihrer Projektdatei.

Da TFS jedoch Ihre Builds mit bestimmten Umgebungsvariablen ausführt, müssen Sie absolute Pfade verwenden.

Eine Liste der Dinge, die wir gemacht haben

  1. Installieren Sie node.js auf Ihrer Build-Maschine (natürlich auch auf Ihren Entwicklungsmaschinen)
  2. Fügen Sie eine package.json -Datei in das Stammverzeichnis Ihres JavaScript-Projekts ein.
  3. Verwenden Sie npm , um grunt-cli lokal (!) zu installieren. Verwenden Sie das Flag --save-dev , um dieses Paket zum Abschnitt Entwicklungsabhängigkeiten in package.json hinzuzufügen.
  4. Für alle anderen Pakete, die Sie benötigen, verwenden Sie npm mit demselben Flag wie in Schritt 3
  5. Schreiben Sie eine Fledermaus-Datei (siehe Beispiel unten), in der Sie das tun werden
    1. verwende absolute Pfade
    2. Verwenden Sie npm, um alle in der packages.json-Datei
    3. aufgeführten Pakete zu installieren
    4. rufen Sie grunt
  6. Rufen Sie in Ihren Pre- oder PostBuildEvents diese Bat-Datei
  7. auf

Beispiel für eine Fledermausdatei

%Vor%     
thomaux 01.07.2013, 09:15
quelle
2

Ich verwende grunt mit TFS, wenn ich TFS verwenden muss. Ich habe grunt-tfs-unlock versucht, stieß aber auf dieses Problem . Ich habe das Problem mit grunt-shell gelöst, was funktioniert und Ihnen mehr Kontrolle über die Konfiguration gibt. Diese Liste zeigt, wie ich TFS mit grunt verwende. Es demonstriert den 'tf checkout' Befehl, aber Sie könnten leicht jeden tf Befehl mit diesem Muster erstellen.

    
Alex Grant 06.08.2013 15:34
quelle
2

Ich habe alle hier aufgelisteten Antworten ausprobiert und war nicht in der Lage, eine erfolgreiche automatisierte Erstellung und Bereitstellung mit TFS zu erreichen, bis ich verwendet habe NCapsulate . Dadurch müssen Knoten nicht mehr separat auf Build Agents oder Dev-Maschinen installiert werden. Nur ein NuGet-Paket.

Stellen Sie nur sicher, dass Sie Ihre Build-Ziele richtig eingerichtet haben, und es funktioniert sehr gut.

    
Josh 12.03.2015 15:53
quelle
1

Sie finden ein vollständiges Beispielszenario zur Verwendung von grunt auf dem Build-Server: Ссылка

    
emp 19.03.2015 07:10
quelle
0

Nach der Installation von Knoten etc ... auf Ihrem Build-Server können Sie auch Ihre Build-Vorlage ändern und einen Schritt hinzufügen, um grunt usw. aufzurufen. Dies würde verhindern, dass Sie Ihre csproj-Datei ändern müssen und Sie verwenden können die Umgebungsvariablen, die stattdessen von TFS erstellt werden.

    
Jonathan McPhail 06.11.2014 19:13
quelle
-1

Sie können eine Zieldatei mit den folgenden Schritten erstellen:

%Vor%     
Silly John 05.08.2016 19:25
quelle