튜토리얼: 원격 머신을 Web IDE에 연결하기
- 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에 연결하는 방법.
원격 머신을 Web IDE에 연결하려면 다음을 수행해야 합니다:
- Let’s Encrypt 인증서 생성을 생성합니다.
- 개발 환경을 Web IDE에 연결합니다.
사전 요구 사항
- 루트 액세스 권한이 있는 원격 가상 머신
- 해당 머신에 해결되는 도메인 주소
- 도커 설치
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에서 원격 연결을 구성하려면:
- Web IDE를 엽니다.
- 메뉴 바에서 보기 > 터미널을 선택하거나 Control+`를 누릅니다.
- 터미널 패널에서 원격 연결 구성을 선택합니다.
- 포트를 포함한 원격 호스트의 URL을 입력합니다(예:
yourdomain.com:3443
). - 프로젝트 경로를 입력합니다.
- 가져온 토큰을 입력합니다.
또는 URL에서 매개변수를 전달하고 Web IDE에 직접 연결할 수도 있습니다:
-
다음 명령을 실행합니다:
echo "https://gitlab-org.gitlab.io/gitlab-web-ide?remoteHost=${DOMAIN}:3443&hostPath=/projects"
-
해당 URL로 이동하고 가져온 토큰을 입력합니다.
성공했습니다! 이제 개발 환경은 Web IDE에 연결된 원격 호스트로 실행됩니다.