関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。Gitpodに関する関連記事は上記を参照ください。
GitpodのChangeLog見てたら、以下を発見。
gitpodコマンドをインストールすることで、ローカルでいろいろ出来るようになったみたいですね。
ちょっと試してみました。
試してみる
インストール
Linux環境の場合は brew
でtapしたら入ります。
$ brew install gitpod-io/tap/gitpod ==> Tapping gitpod-io/tap Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/gitpod-io/homebrew-tap'... remote: Enumerating objects: 63, done. remote: Counting objects: 100% (63/63), done. remote: Compressing objects: 100% (40/40), done. remote: Total 63 (delta 12), reused 53 (delta 10), pack-reused 0 Receiving objects: 100% (63/63), 21.01 KiB | 1.31 MiB/s, done. Resolving deltas: 100% (12/12), done. Tapped 1 formula (16 files, 134.4KB). ==> Fetching gitpod-io/tap/gitpod ==> Downloading https://gitpod.io/static/bin/gitpod-cli-linux-amd64 ########################################################################################################################################## 100.0% Warning: Cannot verify integrity of '998ea5409698932806d6379b7719e80a0fa31eb0820409d708eb2fad03b71394--gitpod-cli-linux-amd64'. No checksum was provided. For your reference, the checksum is: sha256 "7859e2f5dfff7c6e6e5a3c487d236ed5d8573de86c2e05acca230f6bf80d6ee6" ==> Installing gitpod from gitpod-io/tap 🍺 /home/linuxbrew/.linuxbrew/Cellar/gitpod/0.1.4: 3 files, 26.7MB, built in 0 seconds ==> Running `brew cleanup gitpod`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
$ which gitpod /home/linuxbrew/.linuxbrew/bin/gitpod
トークンを発行
ブラウザを起動して認証することも可能なのですが、せっかくなのでアクセストークンを発行して接続するようにしました。
やり方は AccessToken を参照。
ログイン
gitpod コマンドで最初に行うことは gitpod login
でログインすることです。
上記で発行したアクセストークンを添えて、コマンドを実行します。
$ gitpod login --token $GITPOD_TOKEN Dec 22 13:48:30.831 [WARN ] could not write token to keyring, storing in config file instead. Use -v to see the error. Dec 22 13:48:33.150 [INFO ] login successful User name: devlights User ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Organization: devlights Organization ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Host: https://gitpod.io
ワークスペース作成
とりあえず、Gitpodの記事にあった empty を使ってワークスペースを作成してみます。
開いているターミナル上でワークスペースをそのまま操作したいので、--ssh
オプションをつけて作成。
$ gitpod workspace create https://github.com/gitpod-io/empty --ssh Dec 22 13:54:56.497 [INFO ] waiting for workspace to start... workspaceID=gitpodio-empty-6cq1udujhac Dec 22 13:54:56.497 [INFO ] workspace status: preparing Dec 22 13:54:59.389 [INFO ] workspace status: pending Dec 22 13:54:59.389 [INFO ] workspace status: creating Dec 22 13:54:59.389 [INFO ] workspace status: pending Dec 22 13:54:59.389 [INFO ] workspace status: initializing Dec 22 13:54:59.392 [INFO ] workspace status: preparing Dec 22 13:54:59.392 [INFO ] workspace status: pending Dec 22 13:54:59.393 [INFO ] workspace status: creating Dec 22 13:55:02.707 [INFO ] workspace status: initializing Dec 22 13:55:03.322 [INFO ] workspace running Warning: Permanently added 'gitpodio-empty-6cq1udujhac.ssh.ws-eu107.gitpod.io' (ECDSA) to the list of known hosts. Welcome to Gitpod: Always ready to code. Try the following commands to get started: gp tasks list List all your defined tasks in .gitpod.yml gp tasks attach Attach your terminal to a workspace task gp ports list Lists workspace ports and their states gp stop Stop current workspace gp help To learn about the gp CLI commands For more information, see the Gitpod documentation: https://gitpod.io/docs
emptyは、素のUbuntuっぽい感じです。
$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.3 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.3 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy
$ lscpu | grep 'CPU(s)' CPU(s): 16 On-line CPU(s) list: 0-15 NUMA node0 CPU(s): 0-15
$ free -h total used free shared buff/cache available Mem: 62Gi 21Gi 4.3Gi 1.8Gi 37Gi 39Gi Swap: 374Gi 79Mi 374Gi
Goをインストールして動かしてみる
Homebrewが使えるので、何かをインストールしたりするのはとても楽です。
$ brew install golang $ go version go version go1.21.5 linux/amd64
$ go mod init app go: creating new go.mod: module app $ vim main.go $ go fmt $ go vet $ go build $ ./app hello world
ワークスペースを停止
exit
でシェルを終了してもワークスペースは動いたままなので注意。
ワークスペースを停止させる場合は gp stop
を実行。
$ gp stop Connection to gitpodio-empty-qbnso39or4b.ssh.ws-eu107.gitpod.io closed by remote host. Connection to gitpodio-empty-qbnso39or4b.ssh.ws-eu107.gitpod.io closed. Error: exit status 0xffffffff
プロンプトが自分のローカルに戻ってきますので、その後に gitpod コマンドでワークスペースの状態を見てみます。
$ gitpod workspace list | head -n 2 ID REPOSITORY BRANCH STATUS gitpodio-empty-6cq1udujhac gitpod-io/empty main stopped
ちゃんと停止されていますね。
参考情報
過去の記事については、以下のページからご参照下さい。
いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。