Zdalne kodowanie za pomocą Visual Studio Live Share i GitHub

Jeśli nie pracujesz jeszcze w domu, najprawdopodobniej wkrótce będziesz. Powstaje zatem pytanie, w jaki sposób możemy wykorzystać narzędzia, które już mamy, aby nadal móc tworzyć i dostarczać kod?

Sieci VPN i inne technologie dostępu zdalnego mogą łączyć nasze sieci domowe z lokalnymi repozytoriami kodu źródłowego i innymi kluczowymi narzędziami DevOps, oferując bezpieczne połączenia. Zdalna stacja robocza do programowania nie musi być całkowicie odizolowana od kluczowych zasobów, chociaż może wymagać dodatkowych zasad bezpieczeństwa, aby zapewnić oddzielenie informacji osobistych od zasobów roboczych.

Łączność jest ważna, ale prawdopodobnie będzie to najmniejszy z twoich problemów. Jesteśmy zwierzętami społecznymi i wiele prac rozwojowych wymaga więcej niż jednej pary oczu. Polityka dystansowania społecznego oznacza, że ​​wiele technik wymaganych do nowoczesnego zwinnego rozwoju jest trudnych do wdrożenia. Chociaż mamy możliwość korzystania z narzędzi konferencyjnych, takich jak Teams lub Zoom, do codziennych stand-upów wideo, nadal musimy znaleźć sposoby na replikowanie regularnych interakcji jeden na jednego polegających na przeglądaniu kodu, programowaniu w parach lub debugowaniu zespołowym.

Bezpieczne kodowanie społecznościowe dzięki GitHub Enterprise

Jedną z opcji jest przejście na platformę, taką jak GitHub, w celu uzyskania kodu. Uczynienie GitHub częścią cyklu życia oprogramowania jest znacznie łatwiejsze dzięki wydaniu GitHub Actions, które zapewnia punkty integracji z resztą potoku CI / CD (ciągła integracja / ciągłe dostarczanie) i dostarcza ostateczny kod do repozytoriów artefaktów. Dzięki planowanemu przejęciu NPM przez GitHub wkrótce będziesz w stanie zbudować pojedynczy potok programistyczny JavaScript.

GitHub (i inne narzędzia git) zapewniają platformę do kodowania społecznościowego, dzięki czemu zmiany są bardziej widoczne i integrują testy z przesyłanymi kodami. Pracując z domu, możesz replikować repozytoria kodu, aby uzyskać dostęp do pracy współpracowników, wprowadzać zmiany, testować kod i uruchamiać lokalne kompilacje, zanim udostępnisz kod z powrotem do głównej gałęzi za pomocą żądania ściągnięcia. To znany sposób pracy, sprawdzony w tysiącach projektów open source. Zmiany w kodzie są widoczne, a członkowie zespołu mogą komentować każde zatwierdzenie, korzystając z dodatkowych narzędzi ułatwiających znajdowanie typowych błędów bezpieczeństwa lub problemów z zależnościami.

Jeśli przechowywanie kodu lokalnie jest problemem, ze względów prawnych lub ochrony własności intelektualnej, możesz uruchomić GitHub we własnej sieci przy użyciu GitHub Enterprise. Jeśli używasz jednego katalogu firmowego do logowania jednokrotnego, obsługa otwartego protokołu uwierzytelniania SAML powinna uprościć integrację, umożliwiając zdalnym użytkownikom zalogowanie się do sieci VPN i rozpoczęcie pracy. GitHub Enterprise Cloud może być używany z prywatnymi repozytoriami jako usługa zarządzana we własnej infrastrukturze GitHub, z tymi samymi narzędziami bezpieczeństwa.

Współpraca nad kodem w programie Visual Studio Live Share

Udostępniony kod to jedna z opcji, ale często potrzebujesz bezpośredniej współpracy. Programowanie w parach i inne podobne techniki stawiają dwóch programistów przy tej samej klawiaturze, współpracując przy rozwiązywaniu problemów i debugowaniu kodu. Nie jest to możliwe, gdy ludzie pracują w swoich domach. Możemy jednak dzielić się naszymi bazami kodu, łącząc nasze IDE, aby zapewnić wspólne doświadczenie programistyczne bez konieczności przebywania w tym samym miejscu.

Jeśli korzystasz z programu Visual Studio, masz już dostęp do zestawu zaawansowanych narzędzi do współpracy, wbudowanych w platformę Visual Studio. Jednym z aspektów jest obsługa protokołu git i GitHub; innym są narzędzia do udostępniania kodu, Visual Studio Live Share. Dostępny w pełnym środowisku IDE Visual Studio w systemie Windows i na komputerach Macintosh, jako rozszerzenie programu Visual Studio Code oraz w nowym edytorze kodu hostowanym w sieci Web, jest to szybki i łatwy sposób udostępniania kodu i współpracy nad nim.

Praca z udostępnianiem na żywo

Rozpoczęcie korzystania z funkcji Live Share jest stosunkowo łatwe. Wszystko, co musisz zrobić, to dodać obsługę jednego z obciążeń z obsługą Live Share do programu Visual Studio 2019. Jeśli używasz programu Visual Studio 2017, musisz najpierw zainstalować rozszerzenie z Visual Studio Marketplace. Po zainstalowaniu odpowiednich funkcji uruchom ponownie program Visual Studio przed nawiązaniem połączenia z usługą Live Share. Możesz użyć istniejącego konta programu Visual Studio z Live Share lub możesz zalogować się przy użyciu nowego konta, jeśli chcesz zachować oddzielne usługi Visual Studio i Live Share. Praca z Visual Studio Code przebiega bardzo podobnie.

Po zalogowaniu otwórz projekt lub rozwiązanie w normalny sposób. Warto używać .gitignoreplików do ukrywania folderów, których nie chcesz udostępniać; Domyślnie dostęp do wszystkich plików w projekcie jest przyznawany współpracownikom. Możesz ukryć pliki (nie są pokazywane gościom) lub wykluczyć je (nie są dostępne po przejściu do nich z debugera).

Aby udostępnić, kliknij opcję Udostępnianie na żywo w swoim IDE, aby uzyskać link z zaproszeniem, który możesz następnie wysłać do współpracownika. Sesje nie muszą być odczytywane / zapisywane; mogą być tylko do odczytu. Jest to przydatna opcja do oprowadzenia po bazie kodu lub oprowadzenia kogoś nowego do projektu przez kod i poinformowania go, co robi każdy moduł i dlaczego. Jako właściciel udziału możesz otwierać udostępnione terminale lub ustawić fokus, aby współpracownicy widzieli tylko kod, który im pokazujesz.

Debuguj wybrane narzędzie programistyczne

Wspólne debugowanie to przydatna funkcja, ponieważ kod bezpieczeństwa działa tylko na maszynie hosta przy użyciu standardowych narzędzi do debugowania programu Visual Studio. Współpracownicy są dołączani do sesji debugowania przy użyciu własnych przeglądarek, aby zobaczyć informacje debugowania, aby mogli samodzielnie zbadać stan aplikacji. Tylko host może przechodzić przez debuger, ale goście mogą dodawać i usuwać punkty przerwania, aby skupić się na obszarach, które ich interesują. Podobnie aplikacje internetowe można uruchamiać w bezpiecznym środowisku na komputerach-gościach, aby każdy miał swój własny widok. Jeśli Twój kod wymaga lokalnego serwera, można go również udostępnić współpracownikom za pomocą tunelu SSL między maszynami.

Jedną z kluczowych cech Live Share jest niezależność od IDE. Być może używam programu Visual Studio na komputerze z systemem Windows, możesz używać programu Visual Studio dla komputerów Mac lub nawet widoku sieci Web; wszyscy uzyskują dostęp do mojej bazy kodu, a zmiany zostaną zapisane na moim komputerze. Możesz nawet skompilować kod, uruchomić go i uzyskać dostęp do debugera. Jeśli problem wymaga większej liczby oczu, do jednej sesji Live Share może dołączyć aż 30 osób, przynosząc rój ad hoc, aby spróbować rozwiązać problem. Tej samej techniki można użyć do rozwoju małego zespołu lub grupy, gdzie po podłączeniu do Live Share poszczególne osoby mogą pracować nad określonymi zadaniami, a następnie w razie potrzeby zapraszać współpracowników.

Jedyną rzeczą, której brakuje w Visual Studio Live Share, jest narzędzie do czatu. Nie ma powodu, dla którego nie możesz skonfigurować rozmowy Skype lub spotkania Teams wokół sesji w celu przechwytywania dyskusji i działań. Jeśli używasz tylko programu Visual Studio Code, jego implementacja Live Share może służyć do udostępniania głosu. Jednak lepiej jest do szybkiej współpracy; bardziej złożone interakcje najlepiej zarządzać za pomocą innych narzędzi.

Korzystanie z narzędzi do kodowania społecznego powinno sprawić, że praca w domu w okresie izolacji społecznej nie będzie tak izolująca. Możemy udostępniać kod, a nawet udostępniać nasze środowiska programistyczne, pakując go w znane środowiska czatu i współpracy. To nie jest zwykły biznes, ale przynajmniej jest to sposób na pozostanie na szczycie naszego kodu, gdziekolwiek jesteśmy.