ギットポッド
ギットポッド使用すると、ボタンやリンクをクリックするだけでブラウザ内で完全な開発環境が得られ、すぐにコードを記述できます。
Gitpod は、コードに直接アクセスする開発環境向けのオープンソースの Kubernetes アプリケーション (GitHub リポジトリ アドレス: https://github.com/gitpod-io/gitpod ) で、クラウド内で各タスクの新しい自動開発環境を数秒で立ち上げます。開発環境をコードとして記述し、ブラウザまたはデスクトップ IDE から直接、リモートのクラウドベースの開発環境を即座に開始できます。
クイックスタート
TiDB アプリケーション開発用のサンプル コード リポジトリpingcap-inc/tidb-example-javaをフォークします。
ブラウザのアドレスバーにサンプル コード リポジトリの URL の前に
https://gitpod.io/#
を入力して、Gitpod ワークスペースを起動します。たとえば、
https://gitpod.io/#https://github.com/pingcap-inc/tidb-example-java
。URL で環境変数を設定できます。たとえば、
https://gitpod.io/#targetFile=spring-jpa-hibernate_Makefile,targetMode=spring-jpa-hibernate/https://github.com/pingcap-inc/tidb-example-java
。
ログインし、リストされているプロバイダーのいずれかを使用してワークスペースを起動します。たとえば、
Github
。
デフォルトのGitpod設定と環境を使用する
クイックスタート手順を完了した後、Gitpod がワークスペースをセットアップするまでにしばらく時間がかかります。
スプリングブートウェブアプリケーションを例に挙げると、 https://gitpod.io/#targetFile=spring-jpa-hibernate_Makefile,targetMode=spring-jpa-hibernate/https://github.com/pingcap-inc/tidb-example-java
URL で新しいワークスペースを作成できます。
その後、次のようなページが表示されます。
このページのシナリオでは、 TiUP使用して TiDB Playground を構築します。ターミナル領域の左側で進行状況を確認できます。
TiDB Playground の準備が完了すると、さらにSpring JPA Hibernate
タスクが実行されます。ターミナル領域の右側で進行状況を確認できます。
これらのタスクがすべて完了すると、次のようなページが表示されます。このページで、左側のナビゲーション ペインのREMOTE EXPLORER
領域 (Gitpod は URL ベースのポート転送をサポートしています) を確認し、ポート8080
の URL を見つけます。
カスタム Gitpod 構成と Docker イメージの使用
Gitpodの設定をカスタマイズする
例:gitpod.ymlを参照して、プロジェクトのルート ディレクトリに.gitpod. yml
ファイルを作成し、Gitpod ワークスペースを構成します。
# This configuration file was automatically generated by Gitpod.
# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file)
# and commit this file to your remote git repository to share the goodness with others.
# image:
# file: .gitpod.Dockerfile
tasks:
- name: Open Target File
command: |
if [ -n "$targetFile" ]; then code ${targetFile//[_]//}; fi
- name: TiUP init playground
command: |
$HOME/.tiup/bin/tiup playground
- name: Test Case
openMode: split-right
init: echo "*** Waiting for TiUP Playground Ready! ***"
command: |
gp await-port 3930
if [ "$targetMode" == "plain-java-jdbc" ]
then
cd plain-java-jdbc
code src/main/resources/dbinit.sql
code src/main/java/com/pingcap/JDBCExample.java
make mysql
elif [ "$targetMode" == "plain-java-hibernate" ]
then
cd plain-java-hibernate
make
elif [ "$targetMode" == "spring-jpa-hibernate" ]
then
cd spring-jpa-hibernate
make
fi
ports:
- port: 8080
visibility: public
- port: 4000
visibility: public
- port: 2379-36663
onOpen: ignore
Gitpod Dockerイメージをカスタマイズする
デフォルトでは、Gitpod は Workspace-Full という標準の Docker イメージをワークスペースのベースとして使用します。このデフォルト イメージから起動されるワークスペースには、Docker、Go、 Java、Node.js、C/C++、Python、Ruby、Rust、PHP、およびHomebrew、Tailscale、Nginx などのツールがプリインストールされています。
パブリック Docker イメージまたは Dockerfile を使用したり、プロジェクトに必要な依存関係をインストールしたりすることもできます。
たとえば、次のように Dockerfile ( .gitpod.Dockerfile
の例も参照) を使用できます。
FROM gitpod/workspace-java-17
RUN sudo apt install mysql-client -y
RUN curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
次に、 .gitpod.yml
更新する必要があります。
# This configuration file was automatically generated by Gitpod.
# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file)
# and commit this file to your remote git repository to share the goodness with others.
image:
# Import your Dockerfile here.
file: .gitpod.Dockerfile
tasks:
- name: Open Target File
command: |
if [ -n "$targetFile" ]; then code ${targetFile//[_]//}; fi
- name: TiUP init playground
command: |
$HOME/.tiup/bin/tiup playground
- name: Test Case
openMode: split-right
init: echo "*** Waiting for TiUP Playground Ready! ***"
command: |
gp await-port 3930
if [ "$targetMode" == "plain-java-jdbc" ]
then
cd plain-java-jdbc
code src/main/resources/dbinit.sql
code src/main/java/com/pingcap/JDBCExample.java
make mysql
elif [ "$targetMode" == "plain-java-hibernate" ]
then
cd plain-java-hibernate
make
elif [ "$targetMode" == "spring-jpa-hibernate" ]
then
cd spring-jpa-hibernate
make
fi
ports:
- port: 8080
visibility: public
- port: 4000
visibility: public
- port: 2379-36663
onOpen: ignore
変更を適用する
.gitpod.yml
のファイルの設定が完了したら、対応する GitHub リポジトリで最新のコードが利用可能であることを確認します。
https://gitpod.io/#<YOUR_REPO_URL>
アクセスして、最新のコードが適用された新しい Gitpod ワークスペースを作成します。
確立されたすべてのワークスペースについては、 https://gitpod.io/workspaces
参照してください。
まとめ
Gitpod は、完全かつ自動化され、事前構成されたクラウドネイティブ開発環境を提供します。ローカル構成なしで、ブラウザで直接コードを開発、実行、テストできます。
ヘルプが必要ですか?
TiDB コミュニティ 、またはサポートチケットを作成するについて質問します。