Кодиране от разстояние с Visual Studio Live Share и GitHub

Ако вече не работите от вкъщи, най-вероятно ще бъдете много скоро. Тогава въпросът е как можем да използваме инструментите, които вече имаме, за да можем да изграждаме и изпращаме код?

VPN и други технологии за отдалечен достъп могат да свързват нашите домашни мрежи с локални хранилища на изходен код и други ключови инструменти на devops, предлагайки сигурни връзки. Работната станция за отдалечено развитие не трябва да бъде напълно изолирана от ключови ресурси, въпреки че може да се нуждае от допълнителни политики за сигурност, за да осигури разделяне между личната информация и работните ресурси.

Свързването е важно, но вероятно това ще бъде най-малкият проблем. Ние сме социални животни и много дейности за развитие се нуждаят от повече от един чифт очи. Политиките за социално дистанциране означават, че много от техниките, необходими за съвременното гъвкаво развитие, са трудни за прилагане. Въпреки че имаме възможност за инструменти за конферентни връзки като Teams или Zoom за ежедневни видеосъдържания, все пак трябва да намерим начини за възпроизвеждане на редовните едно-към-едно взаимодействия на рецензии на кодове, програмиране по двойки или съвместно отстраняване на грешки.

Сигурно социално кодиране с GitHub Enterprise

Единият вариант е да преминете към платформа като GitHub за вашия код. Правенето на GitHub като част от жизнения цикъл на вашия софтуер е много по-лесно с пускането на GitHub Actions, като ви дава точки за интеграция с останалата част от вашия конвейер за CI / CD (непрекъсната интеграция / непрекъсната доставка) и доставя окончателен код в хранилища на артефакти. С планираното от GitHub придобиване на NPM, скоро ще можете да изградите един конвейер за разработка на JavaScript.

GitHub (и други инструменти на git) предоставят платформа за социално кодиране, правейки промените по-видими и интегрирайки теста в подадени кодове. Работейки от вкъщи, можете да репликирате хранилища на кодове, за да получите достъп до работата на колегите, да направите промени, да тествате код и да стартирате локални компилации, преди да споделите кода си обратно в основен клон чрез заявка за изтегляне. Това е познат начин на работа, доказан в хиляди проекти с отворен код. Промените в кода са видими и членовете на екипа могат да правят коментари по всеки ангажимент, с допълнителни инструменти в подкрепа на намирането на често срещани грешки в сигурността или проблеми със зависимостта.

Ако поддържането на локален код е проблем, поради регулаторни или съображения за защита на интелектуалната собственост, можете да стартирате GitHub във вашата собствена мрежа с помощта на GitHub Enterprise Ако използвате една корпоративна директория за единичен вход, поддръжката на отворения протокол за удостоверяване на SAML трябва да опрости интеграцията, като позволи на отдалечените потребители да влязат в своята VPN и да започнат да работят. GitHub Enterprise Cloud може да се използва с частни хранилища като управлявана услуга в собствената инфраструктура на GitHub, със същия инструмент за защита.

Сътрудничество върху код в Visual Studio Live Share

Споделеният код е една от възможностите, но често се нуждаете от пряко сътрудничество. Програмирането на двойки и други подобни техники поставят двама разработчици на една и съща клавиатура, които работят заедно за решаване на проблеми и отстраняване на грешки в кода. Това не е възможно, когато хората работят от домовете си. Въпреки това можем да споделяме нашите кодови бази помежду си, свързвайки нашите IDE, за да дадем споделен опит за разработка, без да е необходимо да сме на едно и също място.

Ако използвате Visual Studio, вече имате достъп до набор от мощни инструменти за сътрудничество, включени в платформата Visual Studio. Един аспект е поддръжката на git протокола и GitHub; друг е неговите инструменти за споделяне на код, Visual Studio Live Share. Предлага се в пълната среда на Visual Studio IDE за Windows и Macintosh, като разширение за Visual Studio Code и в нов уеб-хостван редактор на кодове, това е бърз и лесен начин за споделяне и сътрудничество в кода.

Работа с Live Share

Първите стъпки с Live Share са относително лесни. Всичко, което трябва да направите, е да добавите поддръжка за едно от натоварванията с разрешено споделяне на живо към Visual Studio 2019. Ако използвате Visual Studio 2017, първо трябва да инсталирате разширение от пазара на Visual Studio. След като бъдат инсталирани подходящите функции, рестартирайте Visual Studio, преди да се свържете с услугата Live Share. Можете да използвате съществуващия си акаунт в Visual Studio с Live Share или можете да влезете с нов акаунт, ако искате да запазите Visual Studio и Live Share отделно. Работата с Visual Studio Code е много подобна.

След като влезете, отворете проект или решение както обикновено. Струва си да използвате .gitignoreфайлове, за да скриете папки, които не искате да споделяте; по подразбиране е да се даде достъп до всички файлове във вашия проект на сътрудници. Можете да скриете файлове (те не се показват на гостите) или да ги изключите (те не са достъпни, когато влизате в тях от дебъгера).

За да споделите, щракнете върху Споделяне на живо във вашата IDE, за да получите връзка за покана, която след това можете да изпратите на колега. Сесиите не трябва да се четат / пишат; те могат да бъдат само за четене. Това е полезна опция за обиколка с екскурзовод на вашата кодова база или за разходка на някой нов към проект чрез кода и да им кажете какво прави всеки модул и защо. Като собственик на споделяне можете да отваряте споделени терминали или да задавате фокус, така че сътрудниците ви да виждат само кода, който им показвате.

Отстранете грешките при избора на инструмент за разработка

Съвместното отстраняване на грешки е полезна функция, тъй като кодът за защита работи само на хост машината, като се използват стандартните инструменти за отстраняване на грешки в Visual Studio. Сътрудниците се присъединяват към сесията за отстраняване на грешки, използвайки собствените си зрители, за да видят информацията за отстраняване на грешки, за да могат да направят свое собствено проучване на състоянието на приложението. Само хостът може да премине през дебъгера, въпреки че гостите могат да добавят и премахват точки на прекъсване, за да се съсредоточат върху области, които ги интересуват. По същия начин уеб приложенията могат да бъдат стартирани в защитена среда на машини за гости, така че всеки да получи свой собствен изглед. Ако вашият код се нуждае от локален сървър, той също може да бъде споделен със сътрудници, използвайки SSL тунел между машините.

Една от основните характеристики на Live Share е независимостта на IDE. Може да използвам Visual Studio на компютър с Windows, може да използвате Visual Studio за Mac или дори уеб изглед; всички получават достъп до моята кодова база и промените ще бъдат запазени в моя компютър. Можете дори да компилирате код, да го стартирате и да получите достъп до дебъгера. Ако проблемът се нуждае от повече очи, до 30 души могат да се присъединят към една сесия на Live Share, като донесат ad hoc рояк, за да се опитат да разрешат проблем. Същата техника може да се използва за развитие на малък екип или група, където, след като се свържат с Live Share, хората могат да работят по конкретни задачи и след това да привличат сътрудници, когато е необходимо.

Единственото нещо, което липсва в Visual Studio Live Share, е инструмент за чат. Няма причина да не можете да настроите разговор в Skype или среща на екипи около сесия, за да заснемете дискусии и действия. Ако използвате само Visual Studio Code, неговата реализация Live Share може да се използва за споделяне на глас. По-добре е обаче за бърза сътрудничество; по-сложните взаимодействия се управляват най-добре в други инструменти.

Използването на инструменти за социално кодиране би трябвало да помогне да се работи от вкъщи по време на социална изолация, която не е толкова изолираща. Можем да споделяме код, дори да споделяме нашите среди за разработка, като същевременно го обгръщаме в познати среди за чат и сътрудничество. Не е както обикновено, но това е начин да останем на върха на нашия код, където и да се намираме.