InfoGrab Docs

튜토리얼: 임의 사용자 ID를 지원하는 사용자 정의 워크스페이스 이미지 만들기

요약

이 튜토리얼에서는 프로젝트 요구 사항을 충족하는 사용자 정의 워크스페이스 이미지를 만드는 방법을 안내합니다. 임의 사용자 ID를 지원하는 사용자 정의 워크스페이스 이미지를 만들려면: GitLab Container Registry의 워크스페이스 기본 이미지(registry.gitlab.com/gitlab-org/gitlab-build-images:workspaces-base)를 시작점으로 사용하는 Dockerfile을 만듭니다:

이 튜토리얼에서는 프로젝트 요구 사항을 충족하는 사용자 정의 워크스페이스 이미지를 만드는 방법을 안내합니다. 완료되면 GitLab에서 만드는 모든 워크스페이스에서 이 사용자 정의 이미지를 사용할 수 있습니다.

임의 사용자 ID를 지원하는 사용자 정의 워크스페이스 이미지를 만들려면:

  1. Dockerfile 만들기.
  2. 사용자 정의 워크스페이스 이미지 빌드.
  3. 사용자 정의 워크스페이스 이미지를 GitLab 컨테이너 레지스트리에 푸시.
  4. GitLab에서 사용자 정의 워크스페이스 이미지 사용.

시작하기 전에#

다음이 필요합니다:

  • GitLab 컨테이너 레지스트리에 컨테이너 이미지를 만들고 푸시할 권한이 있는 GitLab 계정.
  • 로컬 컴퓨터에 설치된 Docker.

Dockerfile 만들기#

GitLab Container Registry의 워크스페이스 기본 이미지(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에서 만드는 모든 워크스페이스에서 이 사용자 정의 이미지를 사용할 수 있습니다.

관련 주제#

튜토리얼: 임의 사용자 ID를 지원하는 사용자 정의 워크스페이스 이미지 만들기

원문 보기
요약

이 튜토리얼에서는 프로젝트 요구 사항을 충족하는 사용자 정의 워크스페이스 이미지를 만드는 방법을 안내합니다. 임의 사용자 ID를 지원하는 사용자 정의 워크스페이스 이미지를 만들려면: GitLab Container Registry의 워크스페이스 기본 이미지(registry.gitlab.com/gitlab-org/gitlab-build-images:workspaces-base)를 시작점으로 사용하는 Dockerfile을 만듭니다:

이 튜토리얼에서는 프로젝트 요구 사항을 충족하는 사용자 정의 워크스페이스 이미지를 만드는 방법을 안내합니다. 완료되면 GitLab에서 만드는 모든 워크스페이스에서 이 사용자 정의 이미지를 사용할 수 있습니다.

임의 사용자 ID를 지원하는 사용자 정의 워크스페이스 이미지를 만들려면:

  1. Dockerfile 만들기.
  2. 사용자 정의 워크스페이스 이미지 빌드.
  3. 사용자 정의 워크스페이스 이미지를 GitLab 컨테이너 레지스트리에 푸시.
  4. GitLab에서 사용자 정의 워크스페이스 이미지 사용.

시작하기 전에#

다음이 필요합니다:

  • GitLab 컨테이너 레지스트리에 컨테이너 이미지를 만들고 푸시할 권한이 있는 GitLab 계정.
  • 로컬 컴퓨터에 설치된 Docker.

Dockerfile 만들기#

GitLab Container Registry의 워크스페이스 기본 이미지(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에서 만드는 모든 워크스페이스에서 이 사용자 정의 이미지를 사용할 수 있습니다.

관련 주제#