今月初旬、MicrosoftはVisual Studio CodespacesをGitHub Codespacesに統合すると発表した。Visual Studio Codespacesは、Gitpodに似たクラウドベースのオンデマンド開発環境である。統合された製品はAzure Functionsをサポートし、Visual Studio 2019、Visual Studio Code、および最新のブラウザで使用できる。
元々、昨年のMicrosoft IgniteでVisual Studio OnlineとしてリリースされたVisual Studio Codespacesは、クラウドを利用したオンライン開発環境である。DevOpsの概念を採用し、管理され、完全に構成可能で、必要に応じて共有および複製できる使い捨て環境を提供する。Microsoftによると、GitHub Codespacesへの統合は、今年4月の最初のリリース以降、Visual Studio Codespacesユーザの間で確認された問題であった、リポジトリからコードスペースへの転送の必要性を排除することが目的である。
DevOps対応のオンライン開発環境のアイデアは、Visual Studio Codespacesの数週間前に開始されたGitPodも背景にある。公式製品ブログで、Gitpodの共同創設者兼CEOであるSven Efftinge氏は、継続的開発環境でDevOpsの「欠けている部分」を述べている:
継続的開発環境は、完全に最適化されたDevOpsツールチェーンの重要な部分であり、どのようなgitの状態からでも、すぐにコードを作成できる開発環境を即座に立ち上げることができます。継続的開発環境により、オンボーディングとタスクの切り替えにおける摩擦が軽減され、プロジェクト全体の再現性が向上します。
GitHub Codespacesを使用すると、開発者はコンテナ化されたカスタマイズ可能なVS Code環境をGitHubリポジトリから直接セットアップできる。環境を作成すると、ブラウザまたはVisual Studio (VS CodeまたはVS 2019) を通してアクセスできる。オンラインIDEはVS Codeに基づいているため、コードスペースからthe Visual Studio Code Marketplaceにアクセスでき、使用可能な拡張機能を環境から読み込んで起動できる。また、複数のプログラミング言語、Dockerfile、LiveShare、およびGitHub Actionsを使用したAzureへのデプロイメントもサポートしている。
GitpodとGitHub Codespacesは概念的には類似しているが、後者はMicrosoft製品であるため、Microsoftの開発エコシステムとより整合していることに注意してください。結果として、Visual Studioユーザに非常によく知られたブラウザインターフェイスのルックアンドフィールをもつ。GitHub Codespacesは、.NET Core開発向けのAzure Functionsと機能もサポートしている (たとえば、コードスペースからサーバレスバックエンドとフロントエンドのASP.NETアプリケーションを実行することが可能である)。
画像提供: GitHub Codespaces look and feel
GitHub Codespacesは、最新リリース (v16.8 Preview 3.1、昨日リリース) の一部としてVisual Studio 2019でサポートされている。GitHub Codespacesを使用した.NET Coreアプリケーションの開発に関する詳細は、投稿記事にも記載されている。現在、GitHub Codespacesは限定公開ベータ版としてのみ利用できる。一般提供は11月に予定されており、現在のVisual Studio Codespacesポータルは来年2月に廃止される。