Remotecodierung mit Visual Studio Live Share und GitHub

Wenn Sie nicht bereits von zu Hause aus arbeiten, werden Sie höchstwahrscheinlich sehr bald sein. Die Frage ist dann, wie wir die Tools verwenden können, die wir bereits haben, um noch Code erstellen und versenden zu können.

VPNs und andere RAS-Technologien können unsere Heimnetzwerke mit lokalen Quellcode-Repositorys und anderen wichtigen Entwicklertools verbinden und so sichere Verbindungen bieten. Eine Remote-Entwicklungsarbeitsstation muss nicht vollständig von den wichtigsten Ressourcen isoliert sein. Möglicherweise sind jedoch zusätzliche Sicherheitsrichtlinien erforderlich, um die Trennung zwischen persönlichen Informationen und Arbeitsressourcen sicherzustellen.

Konnektivität ist wichtig, aber wahrscheinlich das geringste Ihrer Probleme. Wir sind soziale Tiere, und viel Entwicklungsarbeit erfordert mehr als ein Paar Augen. Soziale Distanzierungsmaßnahmen bedeuten, dass viele der Techniken, die für eine moderne agile Entwicklung erforderlich sind, schwer umzusetzen sind. Obwohl wir die Möglichkeit haben, Konferenztools wie Teams oder Zoom für tägliche Video-Standups zu verwenden, müssen wir noch Möglichkeiten finden, die regelmäßigen Eins-zu-Eins-Interaktionen von Codeüberprüfungen, Paarprogrammierung oder kollaborativem Debugging zu replizieren.

Sichere soziale Codierung mit GitHub Enterprise

Eine Möglichkeit besteht darin, für Ihren Code auf eine Plattform wie GitHub zu wechseln. Mit der Veröffentlichung von GitHub-Aktionen wird es viel einfacher, GitHub in Ihren Softwareentwicklungslebenszyklus einzubeziehen. Dadurch erhalten Sie Integrationspunkte mit dem Rest Ihrer CI / CD-Pipeline (Continuous Integration / Continuous Delivery) und können endgültigen Code in Artefakt-Repositorys bereitstellen. Mit der geplanten Übernahme von NPM durch GitHub können Sie in Kürze eine einzige JavaScript-Entwicklungspipeline erstellen.

GitHub (und andere Git-Tools) bieten eine Plattform für Social Coding, um Änderungen sichtbarer zu machen und Tests in Codeübermittlungen zu integrieren. Wenn Sie von zu Hause aus arbeiten, können Sie Code-Repositorys replizieren, um Zugriff auf die Arbeit Ihrer Kollegen zu erhalten, Änderungen vorzunehmen, Code zu testen und lokale Builds auszuführen, bevor Sie Ihren Code über eine Pull-Anforderung an einen Hauptzweig zurückgeben. Es ist eine vertraute Arbeitsweise, die sich in Tausenden von Open Source-Projekten bewährt hat. Codeänderungen sind sichtbar, und Teammitglieder können Kommentare zu jedem Commit abgeben. Zusätzliche Tools unterstützen Sie dabei, häufige Sicherheitslücken oder Abhängigkeitsprobleme zu finden.

Wenn es aus regulatorischen Gründen oder aus Gründen des Schutzes des geistigen Eigentums ein Problem ist, Code lokal zu halten, können Sie GitHub mit GitHub Enterprise in Ihrem eigenen Netzwerk ausführen. Wenn Sie ein einzelnes Unternehmensverzeichnis für die einmalige Anmeldung verwenden, sollte die Unterstützung des offenen SAML-Authentifizierungsprotokolls die Integration vereinfachen, sodass Remotebenutzer sich bei ihrem VPN anmelden und mit der Arbeit beginnen können. GitHub Enterprise Cloud kann mit privaten Repositorys als verwalteter Dienst in der eigenen Infrastruktur von GitHub mit demselben Sicherheitstool verwendet werden.

Zusammenarbeit an Code in Visual Studio Live Share

Freigegebener Code ist eine Option, aber häufig benötigen Sie eine direkte Zusammenarbeit. Durch Paarprogrammierung und andere ähnliche Techniken arbeiten zwei Entwickler an derselben Tastatur, um Probleme zu lösen und Code zu debuggen. Das ist nicht möglich, wenn Einzelpersonen von zu Hause aus arbeiten. Wir können jedoch unsere Codebasen miteinander teilen und unsere IDEs verknüpfen, um eine gemeinsame Entwicklungserfahrung zu ermöglichen, ohne dass wir uns am selben Ort befinden müssen.

Wenn Sie Visual Studio verwenden, haben Sie bereits Zugriff auf eine Reihe leistungsstarker Tools für die Zusammenarbeit, die in die Visual Studio-Plattform integriert sind. Ein Aspekt ist die Unterstützung des Git-Protokolls und von GitHub. Ein weiteres Beispiel sind die Tools für die Codefreigabe, Visual Studio Live Share. Es ist in der vollständigen Visual Studio-IDE unter Windows und Macintosh als Erweiterung für Visual Studio-Code und in einem neuen, im Web gehosteten Code-Editor verfügbar und bietet eine schnelle und einfache Möglichkeit, Code freizugeben und zusammenzuarbeiten.

Arbeiten mit Live Share

Der Einstieg in Live Share ist relativ einfach. Sie müssen lediglich Unterstützung für eine der Live Share-fähigen Workloads zu Visual Studio 2019 hinzufügen. Wenn Sie Visual Studio 2017 verwenden, müssen Sie zuerst eine Erweiterung vom Visual Studio-Marktplatz installieren. Starten Sie Visual Studio nach der Installation der entsprechenden Funktionen neu, bevor Sie eine Verbindung zum Live Share-Dienst herstellen. Sie können Ihr vorhandenes Visual Studio-Konto mit Live Share verwenden oder sich mit einem neuen Konto anmelden, wenn Sie Visual Studio und Live Share getrennt halten möchten. Die Arbeit mit Visual Studio Code ist sehr ähnlich.

Sobald Sie angemeldet sind, öffnen Sie wie gewohnt ein Projekt oder eine Lösung. Es lohnt sich, .gitignoreDateien zu verwenden, um Ordner auszublenden, die Sie nicht freigeben möchten. Standardmäßig erhalten Mitarbeiter Zugriff auf alle Dateien in Ihrem Projekt. Sie können Dateien ausblenden (sie werden Gästen nicht angezeigt) oder ausschließen (auf sie kann nicht zugegriffen werden, wenn Sie sie aus dem Debugger heraus betreten).

Klicken Sie zum Freigeben in Ihrer IDE auf Live-Freigabe, um einen Einladungslink zu erhalten, den Sie dann an einen Kollegen senden können. Sitzungen müssen nicht gelesen / geschrieben werden. Sie können schreibgeschützt sein. Dies ist eine nützliche Option, um eine Führung durch Ihre Codebasis zu geben oder jemanden, der neu in einem Projekt ist, durch den Code zu führen und ihm zu sagen, was jedes Modul tut und warum. Als Eigentümer einer Freigabe können Sie freigegebene Terminals öffnen oder den Fokus festlegen, sodass Ihre Mitarbeiter nur den Code sehen, den Sie ihnen anzeigen.

Debuggen Sie in Ihrem gewählten Entwicklungswerkzeug

Co-Debugging ist eine nützliche Funktion, da Sicherheitscode nur auf dem Hostcomputer mit den Standard-Debugging-Tools von Visual Studio ausgeführt wird. Mitarbeiter werden mit ihren eigenen Viewern an der Debugging-Sitzung teilnehmen, um die Debugging-Informationen anzuzeigen und ihre eigenen Untersuchungen zum Anwendungsstatus durchzuführen. Nur der Host kann den Debugger durchlaufen, obwohl Gäste Haltepunkte hinzufügen und entfernen können, um sich auf Bereiche zu konzentrieren, die sie interessieren. Ebenso können Web-Apps in einer sicheren Umgebung auf Gastcomputern gestartet werden, sodass jeder seine eigene Ansicht erhält. Wenn Ihr Code einen lokalen Server benötigt, kann er auch mithilfe eines SSL-Tunnels zwischen Computern für Mitarbeiter freigegeben werden.

Ein wichtiges Merkmal von Live Share ist die IDE-Unabhängigkeit. Ich verwende möglicherweise Visual Studio auf einem Windows-PC. Möglicherweise verwenden Sie Visual Studio für Mac oder sogar die Webansicht. Alle erhalten Zugriff auf meine Codebasis, und Änderungen werden auf meinem PC gespeichert. Sie können sogar Code kompilieren, ausführen und auf den Debugger zugreifen. Wenn ein Problem mehr Augen benötigt, können bis zu 30 Personen an einer einzelnen Live Share-Sitzung teilnehmen und einen Ad-hoc-Schwarm mitbringen, um zu versuchen, ein Problem zu lösen. Dieselbe Technik kann für die Entwicklung kleiner Teams oder Gruppen verwendet werden, bei denen Einzelpersonen, sobald sie mit Live Share verbunden sind, an bestimmten Aufgaben arbeiten und bei Bedarf Mitarbeiter hinzuziehen können.

Das einzige, was in Visual Studio Live Share fehlt, ist ein Chat-Tool. Es gibt keinen Grund, warum Sie keinen Skype-Anruf oder kein Team-Meeting rund um eine Sitzung einrichten können, um Diskussionen und Aktionen zu erfassen. Wenn Sie nur Visual Studio Code verwenden, kann die Live Share-Implementierung zum Freigeben von Sprache verwendet werden. Es ist jedoch besser für eine schnelle Zusammenarbeit. komplexere Interaktionen lassen sich am besten mit anderen Tools verwalten.

Die Verwendung von Social-Coding-Tools sollte dazu beitragen, dass die Arbeit von zu Hause aus in einer Zeit sozialer Isolation nicht so isolierend ist. Wir können Code freigeben und sogar unsere Entwicklungsumgebungen freigeben, während wir ihn in vertraute Chat- und Kollaborationsumgebungen einbinden. Es ist nicht wie gewohnt, aber es ist zumindest eine Möglichkeit, unseren Code immer auf dem neuesten Stand zu halten.