正式なドキュメントは英語版であり、この日本語訳は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で作成する任意のワークスペースで使用できます。