正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

チュートリアル: 任意のユーザーIDをサポートするカスタムワークスペースイメージを作成する

このチュートリアルでは、プロジェクトのニーズを満たすカスタムワークスペースイメージを作成する方法を説明します。完了すると、GitLabで作成する任意のワークスペースでこのカスタムイメージを使用できます。

任意のユーザーIDをサポートするカスタムワークスペースイメージを作成するには:

  1. Dockerfileを作成する
  2. カスタムワークスペースイメージをビルドする
  3. カスタムワークスペースイメージをGitLabコンテナレジストリにプッシュする
  4. GitLabでカスタムワークスペースイメージを使用する

はじめる前

以下が必要です:

  • GitLabコンテナレジストリにコンテナイメージを作成してプッシュする権限を持つGitLabアカウント。
  • Dockerがローカルマシンにインストールされていること。

Dockerfileを作成

GitLabコンテナレジストリからワークスペースベースイメージregistry.gitlab.com/gitlab-org/gitlab-build-images:workspaces-base)を起点とするDockerfileを作成します:

FROM registry.gitlab.com/gitlab-org/gitlab-build-images:workspaces-base

# Install additional tools your project needs
RUN sudo apt-get update && \
    sudo apt-get install -y tree && \
    sudo rm -rf /var/lib/apt/lists/*

# Install project-specific tools using mise
# For example, install Node.js version 20
RUN mise install node@20 && \
    mise use node@20

# Install global packages
RUN npm install -g @angular/cli

# Set up your project environment
ENV NODE_ENV=development

# Create project directories
RUN mkdir -p /home/gitlab-workspaces/projects

これらの手順は、プロジェクトの特定の要件に基づいてカスタマイズしてください。次に、カスタムワークスペースイメージをビルドします。

カスタムワークスペースイメージをビルドする

Dockerfileが完成したら、カスタムワークスペースイメージをビルドする準備が完了です:

  1. Dockerfileを作成したディレクトリで、次のコマンドを実行します:

    docker build -t my-gitlab-workspace .

    これは、インターネット接続とシステムの速度によっては、数分かかる場合があります。

  2. ビルドプロセスが完了したら、イメージをローカルでテストします:

    docker run -ti my-gitlab-workspace sh

gitlab-workspacesユーザーとしてコマンドを実行する権限が付与されているはずです。完璧です。イメージがローカルで動作しています。次に、GitLabで使用できるようにします。

カスタムワークスペースイメージをGitLabコンテナレジストリにプッシュする

プロジェクトで使用するために、カスタムワークスペースイメージをGitLabコンテナレジストリにプッシュします:

  1. GitLabアカウントにサインインする:

    docker login registry.gitlab.com
  2. GitLabコンテナレジストリのURLでイメージにタグ付けします:

    docker tag my-gitlab-workspace registry.gitlab.com/your-namespace/my-gitlab-workspace:latest

    your-namespaceは、実際のGitLabネームスペースに置き換えてください。

  3. イメージをGitLabコンテナレジストリにプッシュします:

    docker push registry.gitlab.com/your-namespace/my-gitlab-workspace:latest

    このアップロードは、インターネット接続速度によっては、しばらく時間がかかる場合があります。

よくできました。これで、カスタムワークスペースイメージはGitLabコンテナレジストリに安全に保存され、使用できるようになりました。

GitLabでカスタムワークスペースイメージを使用する

最後のステップでは、カスタムワークスペースイメージを使用するようにプロジェクトを設定します:

  1. プロジェクトの.devfile.yamlでコンテナイメージを更新します:

    schemaVersion: 2.2.0
    components:
      - name: tooling-container
        attributes:
          gl/inject-editor: true
        container:
          image: registry.gitlab.com/your-namespace/my-gitlab-workspace:latest

    your-namespaceは、実際のGitLabネームスペースに置き換えてください。

おつかれさまでした。任意のユーザーIDをサポートするカスタムワークスペースイメージの作成と構成が正常に完了しました。このカスタムイメージは、GitLabで作成する任意のワークスペースで使用できるようになりました。