Visual Studio LiveShareとGitHubを使用したリモートコーディング

まだ自宅で仕事をしていない場合は、おそらくすぐに仕事をします。問題は、コードをビルドして出荷するためにすでに必要なツールをどのように使用できるかということです。

VPNやその他のリモートアクセステクノロジーは、ホームネットワークをオンプレミスのソースコードリポジトリやその他の主要なDevOpsツールにリンクし、安全な接続を提供します。リモート開発ワークステーションは、主要なリソースから完全に分離する必要はありませんが、個人情報と作業リソースを確実に分離するために追加のセキュリティポリシーが必要になる場合があります。

接続性は重要ですが、問題が最も少ない可能性があります。私たちは社会的な動物であり、多くの開発作業には複数の目が必要です。社会的距離政策は、現代のアジャイル開発に必要な技術の多くを実装するのが難しいことを意味します。TeamsやZoomなどの会議ツールを使用して毎日のビデオスタンドアップを行うこともできますが、コードレビュー、ペアプログラミング、または共同デバッグの通常の1対1のやり取りを再現する方法を見つける必要があります。

GitHubEnterpriseによる安全なソーシャルコーディング

1つのオプションは、コード用にGitHubなどのプラットフォームに移動することです。 GitHubアクションのリリースにより、GitHubをソフトウェア開発ライフサイクルの一部にすることがはるかに簡単になり、CI / CD(継続的インテグレーション/継続的デリバリー)パイプラインの残りの部分との統合ポイントが提供され、最終的なコードがアーティファクトリポジトリに配信されます。 GitHubが計画しているNPMの買収により、まもなく単一のJavaScript開発パイプラインを構築できるようになります。

GitHub(およびその他のgitツール)は、ソーシャルコーディングのプラットフォームを提供し、変更をより見やすくし、テストをコード送信に統合します。在宅勤務では、コードリポジトリを複製して同僚の作業にアクセスしたり、変更を加えたり、コードをテストしたり、ローカルビルドを実行したりしてから、プルリクエストを介してコードをメインブランチに共有できます。これはおなじみの作業方法であり、何千ものオープンソースプロジェクトで証明されています。コードの変更は表示され、チームメンバーは、一般的なセキュリティバグや依存関係の問題の検出をサポートする追加のツールを使用して、任意のコミットにコメントを付けることができます。

コードをオンプレミスに保持することが問題である場合、規制または知的財産保護の理由から、GitHubEnterpriseを使用して独自のネットワークでGitHubを実行できます。シングルサインオンに単一の企業ディレクトリを使用している場合、オープンSAML認証プロトコルのサポートにより統合が簡素化され、リモートユーザーがVPNにサインインして作業を開始できるようになります。GitHub Enterprise Cloudは、同じセキュリティツールを使用して、GitHub独自のインフラストラクチャ上のマネージドサービスとしてプライベートリポジトリで使用できます。

Visual Studio LiveShareのコードでのコラボレーション

共有コードは1つのオプションですが、多くの場合、直接のコラボレーションが必要です。ペアプログラミングやその他の同様の手法により、2人の開発者が同じキーボードを使用して、問題を解決し、コードをデバッグします。個人が自宅で仕事をしている場合、それは不可能です。ただし、コードベースを相互に共有し、IDEをリンクして、同じ場所にいなくても共有開発エクスペリエンスを提供できます。

Visual Studioを使用している場合は、VisualStudioプラットフォームに組み込まれた強力なコラボレーションツールのセットに既にアクセスできます。1つの側面は、gitプロトコルとGitHubのサポートです。もう1つは、コード共有ツールであるVisual Studio LiveShareです。WindowsおよびMacintosh上の完全なVisualStudio IDE、Visual Studio Codeの拡張機能、および新しいWebホストコードエディターで利用できるため、コードをすばやく簡単に共有および共同作業できます。

ライブシェアの操作

LiveShareの使用を開始するのは比較的簡単です。必要なのは、LiveShare対応ワークロードの1つのサポートをVisualStudio2019に追加することだけです。VisualStudio2017を使用している場合は、最初にVisualStudioマーケットプレイスから拡張機能をインストールする必要があります。適切な機能がインストールされたら、LiveShareサービスに接続する前にVisualStudioを再起動します。既存のVisualStudioアカウントをLiveShareで使用できます。または、VisualStudioとLiveShareを別々に保持する場合は、新しいアカウントでサインインできます。 Visual StudioCodeの操作は非常に似ています。

ログインしたら、通常どおりプロジェクトまたはソリューションを開きます。.gitignore共有したくないフォルダを隠すためにファイルを使用することは価値があります。デフォルトでは、プロジェクト内のすべてのファイルへのアクセスを共同作業者に許可します。ファイルを非表示にする(ゲストに表示されない)か、除外する(デバッガーからファイルにステップインするときにアクセスできない)ことができます。

共有するには、IDEの[ライブ共有]をクリックして招待リンクを取得し、それを同僚に送信します。セッションは読み取り/書き込みである必要はありません。それらは読み取り専用にすることができます。これは、コードベースのガイド付きツアーを行ったり、プロジェクトの初心者にコードを案内して、各モジュールの機能と理由を説明したりするのに便利なオプションです。共有の所有者は、共有端末を開いたり、フォーカスを設定したりして、共同編集者に表示しているコードのみを表示することができます。

選択した開発ツールでデバッグします

共同デバッグは便利な機能です。セキュリティコードは、標準のVisualStudioデバッグツールを使用してホストマシンでのみ実行されるためです。共同編集者は、独自のビューアを使用してデバッグセッションに参加し、デバッグ情報を確認して、アプリケーションの状態を独自に調査できるようにします。ホストのみがデバッガーをステップスルーできますが、ゲストはブレークポイントを追加および削除して、関心のある領域に焦点を合わせることができます。同様に、Webアプリは、ゲストマシンの安全な環境で起動できるため、誰もが独自のビューを取得できます。コードにローカルサーバーが必要な場合は、マシン間のSSLトンネルを使用して、コードを共同作業者と共有することもできます。

Live Shareの重要な機能の1つは、IDEの独立性です。私はWindowsPCでVisualStudioを使用している可能性があり、Mac用のVisual Studio、またはWebビューを使用している可能性があります。すべてが私のコードベースにアクセスでき、変更は私のPCに保存されます。コードをコンパイルして実行し、デバッガーにアクセスすることもできます。問題にもっと目を向ける必要がある場合は、30人もの人々が1回のライブシェアセッションに参加して、問題を解決するためにアドホックな群れをもたらすことができます。同じ手法を小規模なチームまたはグループの開発にも使用できます。LiveShareに接続すると、個人は特定のタスクに取り組み、必要に応じて共同作業者を呼び込むことができます。

Visual Studio Live Shareに欠けているものの1つは、チャットツールです。ディスカッションやアクションをキャプチャするために、セッションの前後にSkype通話やチーム会議を設定できない理由はありません。Visual Studio Codeのみを使用している場合は、そのLiveShare実装を使用して音声を共有できます。ただし、迅速なコラボレーションには適しています。より複雑な相互作用は、他のツールで管理するのが最適です。

ソーシャルコーディングツールを使用すると、社会的孤立の時代に自宅で仕事をするのに役立つはずです。使い慣れたチャット環境やコラボレーション環境でコードをラップしながら、コードを共有したり、開発環境を共有したりすることもできます。これはいつものようにビジネスではありませんが、少なくともどこにいてもコードを常に把握する方法です。