튜토리얼: 원격 머신을 Web IDE에 연결하기

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

플래그: Self-managed GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 관리자는 vscode_web_ide라는 기능 플래그를 숨기기 위해 비활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 있습니다. 이 기능은 실제 운영 환경에 사용하기에는 준비되지 않았습니다.

이 튜토리얼에서는 다음을 보여줍니다:

  • GitLab 밖에서 개발 환경을 생성하는 방법.
  • 원격 머신을 Web IDE에 연결하는 방법.

원격 머신을 Web IDE에 연결하려면 다음을 수행해야 합니다:

  1. Let’s Encrypt 인증서 생성을 생성합니다.
  2. 개발 환경을 Web IDE에 연결합니다.

사전 요구 사항

  • 루트 액세스 권한이 있는 원격 가상 머신
  • 해당 머신에 해결되는 도메인 주소
  • 도커 설치

Let’s Encrypt 인증서 생성

Let’s Encrypt 인증서를 생성하려면:

  1. A 레코드를 생성하여 도메인을 원격 머신에 매핑합니다(예: example.remote.gitlab.dev에서 10.0.2.2로).

    note
    도메인에 액세스할 수 없으면 DuckDNS와 같은 서비스를 사용할 수 있습니다.
  2. HTTPS를 활성화하기 위해 Certbot을 설치합니다:

    sudo apt-get update
    sudo apt-get install certbot
    
  3. 인증서를 생성합니다:

    export EMAIL="YOUR_EMAIL@example.com"
    export DOMAIN="example.remote.gitlab.dev"
    
    certbot -d "${DOMAIN}" \
      -m "${EMAIL}" \
      --config-dir ~/.certbot/config \
      --logs-dir ~/.certbot/logs \
      --work-dir ~/.certbot/work \
      --manual \
      --preferred-challenges dns certonly
    
    note
    DuckDNS의 경우 Certbot DNS DuckDNS 플러그인을 사용해야 합니다.

인증서를 생성했으므로, 이제 개발 환경을 생성하고 연결하는 시간입니다.

개발 환경을 Web IDE에 연결

개발 환경을 Web IDE에 연결하려면:

  1. 개발 환경을 생성합니다:

    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
    

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

  2. 토큰을 가져옵니다:

    docker exec my-environment cat TOKEN
    
  3. 원격 연결을 구성합니다.

원격 연결 구성

Web IDE에서 원격 연결을 구성하려면:

  1. Web IDE를 엽니다.
  2. 메뉴 바에서 보기 > 터미널을 선택하거나 Control+`를 누릅니다.
  3. 터미널 패널에서 원격 연결 구성을 선택합니다.
  4. 포트를 포함한 원격 호스트의 URL을 입력합니다(예: yourdomain.com:3443).
  5. 프로젝트 경로를 입력합니다.
  6. 가져온 토큰을 입력합니다.

또는 URL에서 매개변수를 전달하고 Web IDE에 직접 연결할 수도 있습니다:

  1. 다음 명령을 실행합니다:

    echo "https://gitlab-org.gitlab.io/gitlab-web-ide?remoteHost=${DOMAIN}:3443&hostPath=/projects"
    
  2. 해당 URL로 이동하고 가져온 토큰을 입력합니다.

성공했습니다! 이제 개발 환경은 Web IDE에 연결된 원격 호스트로 실행됩니다.

관련 주제