<p>【西川和久の不定期コラム】 GitHub+Ubuntu+VS Codeの合わせ技!「GitHub Codespaces」で実現するクラウド開発環境</p><p>【西川和久の不定期コラム】GitHub+Ubuntu+VS Codeの合わせ技!「GitHub Codespaces」で実現するクラウド開発環境</p><p>ここのところLinuxネタが続いたので、今回も同じ様な違う様な……といった話となってしまうが、Linuxを使ったちょっと変わったクラウド環境の話をしたいと思う。すでに公開後1年近く経っているのでネタとしては新鮮ではないものの、クラウドにすべて乗っかって、Webブラウザ1つあれば完結する開発環境、「GitHub Codespaces」をご紹介したい。</p><p>については今のところFreeプランは無料。TeamプランとEnterpriseプランについては料金が発生し、最小は2コア/4GBメモリで0.18ドル/時。ストレージは1GBが0.07ドル/月となっている。 2コア/4GBメモリ/32GBストレージの場合であれば、1日8時間を20日間として0.18ドル×160時間=28.8ドル、32GBのストレージで0.07ドル×32GB=2.24ドルで、あわせて31.04ドル(日本円で約4,221円)。1日8時間ずっとコーディングするかは場合によると思うが、ざっとこんな感じだ。 起動方法は簡単で、右上の自分のアイコンをクリックするとプルダウンメニューが出て、その中に「Your codespaces」とあるので選択。次の画面で「New codespace」を押すと、Repository、Branch、Region、Machine typeが出るので選択する。と言っても恐らく実際に選ぶのはRepository、Branchの2カ所になるだろう。Regionはそのまま、Machine typeは現状4コアしか選べないので、この場合、4コア/8GBメモリ/32GBストレージとなる。 プルダウンメニューから「Your codespaces」を選ぶ Repository、Branch、Region、Machine typeの選択。4コアのみ選択可能 codespace起動中。4コア/8GBで約20秒 Visual Studio Codeが起動し、その中のターミナルも開く。作業ディレクトリは「workspaces/test」(testはリポジトリ名)。メモリ8GB、OSはUbuntu 20.04.4 LTS(bullseye/sid)。phpは7.3.27。30分何もしないと停止する 待つこと約20秒。起動すると、Webブラウザ上でVisual Studio Codeと、その中でターミナルが開く。各コマンドで状況を見るとメモリ8GB、OSはUbuntu 20.04.4 LTS(bullseye/sid)、ストレージは32GBで半分近くがシステムで使用中と言った感じだ。phpは7.3.27が入っていた。案件にもよるだろうが、筆者的には十分なリソースだ(Freeプランだと2コア/2〜4GBでもいいような気がする)。 @xxxx → /workspaces/test (main) $ cat /etc/issue Ubuntu 20.04.4 LTS @xxxx → /workspaces/test (main) $ cat /etc/debian_version bullseye/sid @xxxx → /workspaces/test (main) $ free -h total used free shared buff/cache available Mem: 7.8Gi 1.3Gi 261Mi 0.0Ki 6.2Gi 6.1Gi Swap: 0B 0B 0B @xxxx → /workspaces/test (main) $ df -h Filesystem Size Used Avail Use% Mounted on overlay 32G 12G 18G 40% / tmpfs 64M 0 64M 0% /dev tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup shm 64M 8.0K 64M 1% /dev/shm /dev/sda1 29G 10G 19G 35% /usr/sbin/docker-init /dev/loop0 32G 12G 18G 40% /workspaces /dev/sdb1 32G 49M 30G 1% /tmp ここで何と言っても驚いたのが起動が簡単なこと。Amazon EC2やAzureでLinux環境を構築するときは、とにかくコンパネでいろいろ設定があり面倒で、AIによるサポートが欲しいほどだ(笑)。 一方こちらはほぼリポジトリ/ブランチの指定だけでVisual Studio Codeまで含めたLinuxが起動する。これだけでも十分ありがたい。加えてあとで触れるがポートフォワーディングも自動だ。つまり動作環境のことはほとんど手間/時間をかけずコーディングに集中できる。 実際のOSイメージは</p>