원격 개발

Tier: 무료, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
Self-managed GitLab에서는 기본적으로이 기능이 제공됩니다. 기능을 숨기려면 관리자가 vscode_web_ide 라는 피처 플래그를 비활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 있습니다. 해당 기능은 프로덕션 환경에 사용하기에 적합하지 않습니다.

GitLab에 호스팅된 코드를 작성하고 컴파일하는 원격 개발을 사용할 수 있습니다. 원격 개발을 통해 다음을 수행할 수 있습니다:

  • 클라우드에서 안전한 개발 환경 생성
  • 웹 브라우저 또는 클라이언트 기반 솔루션을 통해 로컬 머신과 해당 환경 연결

프런트엔드로서의 웹 IDE

웹 IDE를 사용하여 웹 브라우저에서 프로젝트에 직접 변경 사항을 만들고 커밋하고 푸시할 수 있습니다. 이를 통해 의존성을 설치하거나 로컬로 리포지터리를 복제하지 않고도 프로젝트를 업데이트할 수 있습니다.

그러나 웹 IDE에는 코드를 컴파일하거나 테스트를 실행하거나 실시간 피드백을 생성할 수 있는 네이티브 런타임 환경이 없습니다. 원격 개발을 통해 다음을 사용할 수 있습니다:

  • 프런트엔드로서 웹 IDE
  • 백엔드 런타임 환경으로 별도의 머신

완전한 IDE 경험을 위해 웹 IDE를 원격 호스트로 구성된 개발 환경에 연결합니다. 이 환경은 GitLab 내부에 생성하거나 GitLab 밖에서 생성할 수 있습니다.

워크스페이스

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

워크스페이스는 다음을 포함하는 GitLab의 코드를 위한 가상 샌드박스 환경으로 구성됩니다:

  • 런타임 환경
  • 의존성
  • 구성 파일

빈 환경 또는 사용자 정의할 수 있는 템플릿에서 워크스페이스를 생성할 수 있습니다.

웹 IDE에 워크스페이스를 구성하고 연결하면 다음을 수행할 수 있습니다:

  • 웹 IDE에서 파일을 직접 편집하고 커밋하여 GitLab에 푸시
  • 웹 IDE를 사용하여 테스트 실행, 코드 디버그, 실시간 피드백 확인

개발 환경 관리

개발 환경 생성

개발 환경을 생성하려면 다음 명령을 실행하십시오:

export CERTS_DIR="/home/ubuntu/.certbot/config/live/${DOMAIN}"
export PROJECTS_DIR="/home/ubuntu"

docker run -d \
  --name my-environment \
  -p 3443:3443 \
  -v "${CERTS_DIR}/fullchain.pem:/gitlab-rd-web-ide/certs/fullchain.pem" \
  -v "${CERTS_DIR}/privkey.pem:/gitlab-rd-web-ide/certs/privkey.pem" \
  -v "${PROJECTS_DIR}:/projects" \
  registry.gitlab.com/gitlab-org/remote-development/gitlab-rd-web-ide-docker:0.2-alpha \
  --log-level warn --domain "${DOMAIN}" --ignore-version-mismatch

새로운 개발 환경이 자동으로 시작됩니다.

개발 환경 중지

실행 중인 개발 환경을 중지하려면 다음 명령을 실행하십시오:

docker container stop my-environment

개발 환경 시작

중지된 개발 환경을 다시 시작하려면 다음 명령을 실행하십시오:

docker container start my-environment

매번 개발 환경을 시작할 때 토큰이 변경됩니다.

개발 환경 제거

개발 환경을 제거하려면 다음을 수행하십시오:

  1. 개발 환경을 중지합니다.
  2. 다음 명령을 실행하십시오:

    docker container rm my-environment