もっと詳しく

<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>