重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

Gitpod

Gitpodを使用すると、ボタンまたはリンクをクリックするだけでブラウザに完全な開発環境を取得でき、すぐにコードを記述できます。

Gitpodは、コードに直接変換する開発環境向けのオープンソースのKubernetesアプリケーション(GitHubリポジトリアドレス: https://github.com/gitpod-io/gitpod )であり、クラウド内の各タスクの新しい自動開発環境を数秒で起動します。これにより、開発環境をコードとして記述し、ブラウザーまたはデスクトップIDEから直接、インスタント、リモート、およびクラウドベースの開発環境を開始できます。

クイックスタート

  1. TiDBアプリケーション開発用のサンプルコードリポジトリpingcap-inc / tidb-example-javaをフォークします。

  2. ブラウザのアドレスバーでサンプルコードリポジトリの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

  3. ログインして、リストされているプロバイダーの1つを使用してワークスペースを開始します。たとえば、 Github

デフォルトのGitpod構成と環境を使用する

クイックスタートの手順を完了した後、Gitpodがワークスペースをセットアップするのにしばらく時間がかかります。

例としてSpring Boot Webのアプリケーションを取り上げます。 https://gitpod.io/#targetFile=spring-jpa-hibernate_Makefile,targetMode=spring-jpa-hibernate/https://github.com/pingcap-inc/tidb-example-javaのURLで新しいワークスペースを作成できます。

その後、次のようなページが表示されます。

playground gitpod workspace init

このページのシナリオでは、 TiUPを使用してTiDBプレイグラウンドを構築します。ターミナルエリアの左側で進行状況を確認できます。

TiDB Playgroundの準備が整うと、別のSpring JPA Hibernateつのタスクが実行されます。ターミナルエリア右側で進捗状況を確認できます。

これらのタスクがすべて完了すると、次のようなページが表示されます。このページで、左側のナビゲーションペインのREMOTE EXPLORERの領域(GitpodはURLベースのポート転送をサポートしています)を確認し、ポート8080のURLを見つけます。

playground gitpod workspace ready

APIはHTTPリクエストの送信でテストできます。必ずhttp://localhost:8080のURLをREMOTE EXPLORERの領域で見つけたものに置き換えてください。

カスタムGitpod構成とDockerイメージを使用する

Gitpod構成をカスタマイズする

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

GitpodDockerイメージをカスタマイズする

デフォルトでは、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は、完全な自動化された事前構成済みのクラウドネイティブ開発環境を提供します。ローカル構成なしで、ブラウザーで直接コードを開発、実行、およびテストできます。

playground gitpod summary