자습서: 원격 머신을 Web IDE에 연결하기
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
- GitLab 15.4에 소개되었으며 기본적으로 비활성화되어 있는
vscode_web_ide
라는 플래그로 활성화가 가능합니다.- GitLab 15.7에서 GitLab.com에서 활성화되었습니다.
- GitLab 15.11에서 Self-managed에서 활성화되었습니다.
Self-managed GitLab의 경우, 기본적으로 이 기능을 사용할 수 있습니다. 관리자는 vscode_web_ide라는 피처 플래그를 숨기기 위해 비활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 있습니다. 이 기능은 아직 프로덕션 환경에 사용하기에 적합하지 않습니다.
이 자습서에서는 다음을 보여줍니다:
- GitLab 외부에 개발 환경을 생성하는 방법
- 원격 머신을 Web IDE에 연결하는 방법
웹 IDE에 원격 머신을 연결하려면 다음을 수행합니다:
- Let’s Encrypt 인증서 생성을 생성하세요.
- 개발 환경을 Web IDE에 연결하세요.
전제 조건
- root 액세스 권한이 있는 원격 가상 머신
- 해당 머신으로 해결되는 도메인 주소
- Docker 설치
Let’s Encrypt 인증서 생성
Let’s Encrypt 인증서를 생성하려면:
-
A
레코드를 생성하여 도메인을 원격 머신으로 지정합니다 (예:example.remote.gitlab.dev
에서10.0.2.2
로).도메인에 액세스할 수 없는 경우 DuckDNS와 같은 서비스를 사용할 수 있습니다. -
HTTPS를 활성화하려면 Certbot을 설치하세요:
sudo apt-get update sudo apt-get install certbot
-
인증서를 생성하세요:
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
DuckDNS의 경우 Certbot DNS DuckDNS 플러그인을 사용해야 합니다.
인증서를 생성했으므로 이제 개발 환경을 생성하고 연결해야 합니다.
개발 환경을 Web IDE에 연결
개발 환경을 Web 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 exec my-environment cat TOKEN
-
원격 연결을 구성하세요.
원격 연결 구성
Web IDE에서 원격 연결을 구성하려면:
- 웹 IDE를 엽니다.
- 메뉴 바에서 View > Terminal을 선택하거나 Control+`를 누릅니다.
- 터미널 패널에서 원격 연결 구성(Token)을 선택합니다.
- 포트를 포함한 원격 호스트의 URL을 입력하세요 (예:
yourdomain.com:3443
). - 프로젝트 경로를 입력하세요.
- 가져온 토큰을 입력하세요.
또는 URL에서 매개변수를 전달하고 웹 IDE에 직접 연결할 수 있습니다:
-
다음 명령을 실행하세요:
echo "https://gitlab-org.gitlab.io/gitlab-web-ide?remoteHost=${DOMAIN}:3443&hostPath=/projects"
-
해당 URL로 이동하여 가져온 토큰을 입력하세요.
성공했습니다! 이제 개발 환경이 Web IDE에 연결된 원격 호스트로 실행됩니다.