Skip to content

Commit 38a0b65

Browse files
committed
Add contents for using github codespaces
1 parent c49d058 commit 38a0b65

19 files changed

+180
-0
lines changed

usage/images/create_codespace.png

397 KB
Loading

usage/images/note_copy_allow-1.png

17.6 KB
Loading

usage/images/note_copy_allow.png

389 KB
Loading

usage/images/start_codestace.png

311 KB
Loading

usage/images/step_add_hakoenv.png

397 KB
Loading

usage/images/step_build.png

340 KB
Loading

usage/images/step_check.png

342 KB
Loading
143 KB
Loading

usage/images/step_hako-cmd_reset.png

552 KB
Loading

usage/images/step_hako-cmd_start.png

533 KB
Loading

usage/images/step_hako-cmd_stop.png

537 KB
Loading

usage/images/step_install.png

304 KB
Loading
381 KB
Loading
66.4 KB
Loading
341 KB
Loading
374 KB
Loading

usage/images/step_stop_codespaces.png

496 KB
Loading
570 KB
Loading

usage/using_github-codespaces.md

+180
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# GitHub codespaces を使って hakoniwa-core-cpp-clientを試す
2+
3+
## はじめに
4+
5+
### GitHub Codespacesとは
6+
7+
GitHub Codespacesは、クライドでホストされている開発環境です。ブラウザ上で動作する Visual Studio Codeと同等の機能を提供し、どこからでもアクセス可能です。
8+
また、開発環境がクラウド上にホストされているため、ローカルPCのリソースに依存せず、高性能な環境で開発できます。
9+
GitHubのアカウントを持っていれば無料で利用が始められます。
10+
11+
本ドキュメントではhakoniwa-core-cpp-clientのサンプルをブラウザを使って実際に動かしてみます。
12+
13+
### 利用にあたっての準備
14+
15+
GitHub Codespacesを使う場合には次を準備する必要があります。
16+
- GitHubアカウント
17+
- github.com へ接続できるネットワーク環境
18+
- ブラウザ
19+
20+
## GitHub Codespaces を起動する
21+
22+
以下、すべてブラウザを起動して操作します。
23+
24+
### Codespace の起動
25+
26+
1. [toppers/hakoniwa-core-cpp-client](https://github.com/toppers/hakoniwa-core-cpp-client) リポジトリに移動します。
27+
1. [Code]を押下し、[Codespaces]タブを選択します。
28+
1. [Create codespace on main]を選択します。
29+
30+
![Createcodespace](images/create_codespace.png)
31+
32+
Codespaceの起動が完了すると、リポジトリのワークスペースが起動されます。
33+
34+
![startcodespace](images/start_codestace.png)
35+
36+
### hakoniwa-core-cpp-clientのインストール手順
37+
38+
READMEのインストール手順に従って、リポジトリのビルドとインストールを行います。
39+
40+
Codespaceでキーボードを使ったコピペを行う場合に、次のような表示がされることがありますが、`許可`を押してください。
41+
42+
![note_copy](images/note_copy_allow-1.png)
43+
44+
ターミナルで以下のコマンドを実行します。
45+
46+
1. ビルド
47+
```
48+
bash build.bash
49+
```
50+
2. インストール
51+
```
52+
bash install.bash
53+
```
54+
インストールが成功しているかは、以下のコマンドでチェックできます。
55+
```
56+
bash hako-setup-check.bash
57+
```
58+
59+
![step_check](images/step_check.png)
60+
61+
3. 環境変数の設定
62+
~/.bashrc ファイルに以下の行を追加してください。
63+
ターミナルからファイルを開きます
64+
```
65+
code ~/.bashrc
66+
```
67+
```
68+
export LD_LIBRARY_PATH=/usr/local/lib/hakoniwa:$LD_LIBRARY_PATH
69+
export PATH=/usr/local/bin/hakoniwa:$PATH
70+
```
71+
ファイルを閉じた後に変更を反映させます。
72+
```
73+
source ~/.bashrc
74+
```
75+
76+
![step_hakoenv](images/step_add_hakoenv.png)
77+
78+
79+
### Hello World サンプル
80+
Hello Worldではターミナル(端末)を2つ使用します。
81+
端末Aは箱庭アセットを実行します。端末Bは箱庭コマンドで箱庭アセットを起動します。
82+
83+
1. 端末Aでの手順
84+
```
85+
./cmake-build/examples/hello_world/hello_world HelloWorld ./examples/hello_world/custom.json 100
86+
```
87+
2. 端末Bでの手順
88+
端末を起動します。`ターミナルの分割` ボタンを押して、ターミナルを2つに分けます。
89+
90+
![ターミナルの分割](images/step_terminal_separation.png)
91+
92+
* シミュレーションの開始
93+
```
94+
hako-cmd start
95+
```
96+
Hello Worldが起動します
97+
98+
* シミュレーションの停止、リセット
99+
```
100+
hako-cmd stop
101+
hako-cmd reset
102+
```
103+
104+
![hako-cmd_reset](images/step_hako-cmd_reset.png)
105+
106+
### Codespacesの停止、インスタンスの再起動と削除
107+
ウィンドウの左下をクリックし、`Stop Currenet Codespace` をクリックします。
108+
109+
![stop_codespaces](images/step_stop_codespaces.png)
110+
111+
`Codespace is stopped` と表示されれば、停止されました。
112+
113+
![codespace_is_stopped](images/step_codespaces_is_stopped.png)
114+
115+
また停止後、インスタンスイメージは残っています。リポジトリのページに戻って、[Code]をクリックすると、さきどの使用していたインスタンスイメージを起動することができます。
116+
117+
また[Delete]をクリックすることでインスタンスイメージは削除されます。
118+
デフォルトでも非アクティブな状態が30日をすぎると自動的に削除されます。
119+
120+
121+
## VSCode DevContainerで起動する
122+
GitHub Codespacesでは、イメージはGitHub側にあります。
123+
GitHub側でのマシンスペックは変更することはできますが、無料による使用範囲は限定されています。
124+
ローカルPCにVSCodeとDocker環境をインストールしておくことで、コンテナ環境で動作することも可能です。
125+
126+
### 必要な環境のインストール
127+
* VSCode
128+
129+
すでにインストール済みで進めます
130+
131+
* Docker
132+
133+
Docker Desktop をインストールしてください。
134+
もしくはWindowsの場合は WSL2にUbuntuをインストールし、Ubuntu内でDockerをインストールされている場合でもOKです。
135+
136+
* Dev Containers
137+
138+
[Dev Concatainers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)をVSCodeの拡張機能としてインストールします。
139+
140+
### リポジトリのクローンとVSCodeの起動
141+
142+
1. リポジトリのクローン
143+
```
144+
git clone --recursive https://github.com/toppers/hakoniwa-core-cpp-client.git
145+
```
146+
147+
2. VSCodeの起動
148+
```
149+
code hakoniwa-core-cpp-client
150+
```
151+
152+
3. コンテナで再度開く
153+
154+
フォルダーに開発コンテナの構成ファイルが含まれていますというメッセージが表示されている場合は、`コンテナで再度開く` をクリックします。
155+
156+
![reopen_in_container](images/step_reopen_in_container-1.png)
157+
158+
表示されていない場合は、ウィンドウの左下から `コンテナで再度開く` のメニューをクリックします。
159+
そうすると VSCode がDevContainerへリモート接続されます。
160+
左下のところが `開発コンテナー: C++ @ desktop-linux` となっていれば成功です。
161+
ターミナルはローカルPC上のコンテナーインスタンスとなります。
162+
163+
![menu_reopen_in_container](images/step_menu_reopen_in_container.png)
164+
165+
### リモートコンテナの終了
166+
フォルダーを `ローカルで再度開く` をクリックするとコンテナへのリモート接続は終了します。
167+
またリモートコンテナで作成性したファイルなどはそのままローカルで残ります。
168+
169+
![menu_reopen_in_locally](images/step_reopen_in_locally.png)
170+
171+
### 注意
172+
* Applie Silicon Macをお使いの場合
173+
174+
コンテナーインスタンスのマシンアーキテクチャは `aarch64` になります。
175+
```
176+
vscode ➜ /workspaces/hakoniwa-core-cpp-client (main) $ uname -m
177+
aarch64
178+
```
179+
180+

0 commit comments

Comments
 (0)