Frage

So habe ich eine Situation geraten, wo wir ein Projekt mit 10 Entwicklern. Jeder Entwickler, wenn sie in den Tag kommen, wird zufällig eine Maschine zu verwenden, für die Entwicklung an diesem Tag ausgegeben. Die Maschinennamen unterschiedlich sind, sagen BM01 - DEV10. Zu der Zeit, dass sie an die Entwickler ausgegeben werden, sind die Maschinen identisch, und es werden keine Änderungen der Entwickler während des Tages machen werden an den Maschinen beibehalten (Quellcodeänderungen in TFS gespeichert sind, nicht vor Ort). Diese ist natürlich eigentlich virtueller Maschinen, aber das ist nicht wirklich relevant für den Punkt auf der Hand.

Das Problem ist, dass jeder Morgen, die Entwickler in 3 Ausgaben laufen:

1) Die Maschine, dass sie zugeordnet sind, möglicherweise nicht die gleiche Maschine sein waren sie zuletzt zugewiesen. Zum Beispiel könnte DevMan A verwendet DEV04 gestern haben und DEV06 heute erhalten. Sein Arbeitsbereich Definitionen werden nun zu DEV06 gebunden; er muss einen neuen Arbeitsbereich erstellen, oder die Migration der alten Arbeitsbereich DEV04.

2) Die Maschine, dass sie zugewiesen sind, kann gestern im Einsatz gewesen sein, und einige der Zuordnungen in Konflikt stehen könnten. Zum Beispiel könnte DevMan A DEV04 heute haben, und wünschen einen Arbeitsbereich Abbildung des Projektordner „C: \ MyProj \ Solution“ zu erstellen. Allerdings hatte DevMan B DEV04 gestern, und er verwendet den gleichen Projektordner. TFS jetzt beklagt.

3) Das kann sie das erste Mal auf einer bestimmten Maschine sind sein. Sie jetzt für diese Maschine neu erstellen müssen alle ihre Quelle-Steuerzuordnungen für die neue Maschine.

Alle diese Probleme können auf einfache Art und Weise auf einer Fall-zu-Fall-Basis gelöst werden, aber es hat einige Saft Produktivität vom Morgen. Wir würden viel lieber, wenn die TFS Arbeitsplatz Definitionen könnten ‚entspannt‘ werden, so dass sie nicht irgendwie die Computernamen in der Definition enthalten sind. Abgesehen davon, wenn jemand bewusst eine Lösung für die oben genannten Probleme ist, die automatisch oder mit eingeschränktem Benutzereingriff ausgeführt werden können, die auch ideal wären.

War es hilfreich?

Lösung

Zuerst wird die Super-offensichtliche Antwort ist, zu weihen Maschinen für die Benutzer.

Zweitens ... wenn Sie wirklich das Problem lösen wollen wie gesagt:

Sie können keinen Workspaces verwenden, ohne sie auf eine bestimmte Maschine zuweisen. Diese Annahme ist in dem Produkt implizit. Aber man kann es täuschen :)
Achtung: Dieses Rezept scheint zu funktionieren, aber ich persönlich habe nicht ein Projekt mit ihm laufen.

  1. Zuweisen ein „virtueller“ Computername für jeden Benutzer, das heißt UseridVM
  2. Für jede virtuelle Maschine die folgende (persistent oder skript Start) Setup wird benötigt:
    • Erstellen Sie eine neue Umgebungsvariable "User Variable" heißt _CLUSTER_NETWORK_NAME_ = UseridVM
  3. Nice to have: Verwenden Sie eine virtuelle Festplatte, die für die Benutzer-ID gewidmet ist und kartiert (oder montiert mit einem Skript) auf „D:“., Die den Benutzer von VM zu VM folgt

Nun, wenn der Benutzer Visual Studio öffnet, der Arbeitsbereich wird mit dem angegebenen Wert „UseridVM“ als Computernamen verwenden, damit der gleiche Arbeitsbereich wird auf jeder Maschine zu finden.

Wenn Sie nicht über eine persistente virtuelle Festplatte haben, dann muss jeder Benutzer sicher sein, eine ‚echte‘ to do „Get Latest“ (Get Specific Version, überprüfen Sie alle Boxen), wenn für den Tag starten, weil die Arbeitsbereich Zum Speichern welchem Dateien bereits heruntergeladen wurden und werden nicht erneut herunterladen sie, wenn es darum geht, sie bereits vorhanden sind.

Andere Tipps

1.) Für jede Workstation Sie zur Arbeit gehen auf, benötigen Sie einen Arbeitsbereich definieren (remote <=> lokalen Mapping). Sie können Quelldateien im Netzwerk speichern (nicht empfohlen, dies aufgrund VS-Caching), aber lokalen Arbeitsbereiches (Mapping-Definition) muss für bestimmte Benutzer auf bestimmten PC existieren.

2.) Erstellen Ihnen separate lokale Ordner pro Entwickler Sie verschiedenen Menschen zu verhindern, auf demselben Ordner zu arbeiten und immer spätestens ausgecheckt Code anderen. Zum Beispiel:

c:\Projects\DevManA\...
c:\Projects\DevManB\... etc.

3). Dies wird wahrscheinlich Ursache vielen Diskussionen, aber ich empfehle Mapping Wurzel Ihrer TFS auf Ihrem lokalen Arbeitsbereich, z. B. DevManA Mapping:

$/ to C:\Projects\DevManA\

Dann, wenn Sie überprüfen Projekte aus Sie Struktur erhalten wird:

c:\Projects\DevManA\TFSProject1\..
c:\Projects\DevManA\TFSProject2\..
c:\Projects\DevManA\TFSProject3\..

etc.

Dies ist eine einfache und schnelle Zuordnung jeder in 5 Sekunden tun können, und Sie sind bereit zu gehen. Dann hat jeder das gleiche Layout auf der Festplatte wie in TFS, die auch „paßt das Gehirn“ leichter.

Ich weiß nicht, ob dies die Anforderungen in der Frage genannten treffen, aber Sie könnten diese Besuche:

http: //blogs.msdn .com / granth / Archiv / 2009/11/08 / tfs2010-public-workspaces.aspx

TFS 2010 hinzugefügt public / Shared Workspaces, die von mehreren Benutzern auf dem gleichen Rechner verwendet werden kann.

Sie können legen Sie den Arbeitsbereich auf einem freigegebenen Netzlaufwerk, so dass es keine Rolle spielt, welche Maschine (virtuelle oder anderweitig) der Entwickler angemeldet ist. Dies funktioniert gut, aber Sie werden auch einige COM Sachen konfigurieren müssen einmal es glücklich zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top