윈도우 개발

개발 중에 윈도우 개발 머신이 필요한 경우가 있습니다.

이 가이드는 GitLab 공유 윈도우 러너와 동일한 사전 설치된 도구를 갖춘 윈도우 개발 가상 머신을 Google Cloud Platform(GCP)에서 설정하는 방법을 설명합니다.

왜 Google Cloud에서 윈도우인가?

회사 노트북에서 Microsoft Windows 운영 체제의 사용은 GitLab 승인된 운영 체제 정책에 따라 금지되어 있습니다.

이로 인해 윈도우 플랫폼의 기능을 개발하는 데 어려움이 있을 수 있습니다. GCP를 사용하면 완료 후 제거할 수 있는 임시 윈도우 머신을 가질 수 있습니다.

공유 윈도우 러너

전체 윈도우 개발 머신이 필요하지 않은 경우 공유 윈도우 러너를 사용할 수 있습니다.

GitLab 12.7 릴리즈 게시물윈도우 공유 러너 베타 블로그 게시물에서는 유용한 정보를 많이 제공합니다.

공유 윈도우 러너를 사용하려면 .gitlab-ci.yml 파일의 관련 작업에 다음 tags를 추가하세요:

tags:
  - shared-windows
  - windows
  - windows-1809

윈도우 이미지에 사전 설치된 소프트웨어 목록은 다음에서 확인할 수 있습니다: 사전 설치된 소프트웨어.

개발을 위한 GCP 윈도우 이미지

공유 윈도우 GitLab 러너Packer로 구축됩니다.

Google Cloud 이미지를 구축하기 위한 인프라스트럭처 코드 저장소는 다음에서 확인할 수 있습니다: GitLab Google Cloud Platform Shared Runner Images.

이미지 빌드

귀하의 Google Cloud 그룹에 이미지가 이미 생성되어 있을 수 있습니다.

자신의 이미지를 구축하기 전에 사용할 수 있는 이미지를 검색하세요.

위의 공유 러너 저장소로 Google Cloud 이미지를 빌드하려면 다음을 수행하세요:

  1. Packer를 설치하세요 (버전 1.5.1에서 작동하는 것으로 테스트됨).
  2. Packer Windows Update Provisioner를 설치하세요.
    1. 저장소 https://github.com/rgl/packer-provisioner-windows-update를 클론하고 클론한 디렉터리로 cd 하세요.
    2. go build -o packer-provisioner-windows-update 명령을 실행하세요 (설치를 위해 go가 필요합니다).
    3. packer-provisioner-windows-updatePATH 환경 변수에 있는지 확인하세요.
  3. 필수 환경 변수packer.json 파일에서 환경에 추가하세요 (아마도 direnv를 사용할 수 있습니다).
  4. 명령어: packer build packer.json을 실행하여 이미지를 빌드하세요.

GCP에서 Windows 이미지 사용 방법

  1. 웹 브라우저에서 Google Cloud Platform 콘솔로 이동합니다.

  2. 이미지를 생성할 때 사용한 이름으로 이미지를 필터링합니다. windows로 필터링하면 될 것입니다.

  3. 이미지의 이름을 선택합니다.

  4. 인스턴스 만들기를 선택합니다.

  5. 중요한 사항: 나중에 변경할 수 없으므로 원하는 이름으로 변경합니다.

  6. 선택 사항: 가까운 리전으로 변경하고, 원하는 다른 옵션을 설정합니다.

  7. 페이지 하단의 만들기를 선택합니다.

  8. 새로 생성한 VM 인스턴스의 이름을 선택합니다(옵션으로 필터를 적용하여 찾을 수 있습니다).

  9. Windows 비밀번호 설정을 선택합니다.

  10. 선택 사항: 사용자 이름을 설정하거나 기본값을 사용합니다.

  11. 다음을 선택합니다.

  12. 비밀번호를 복사하고 저장합니다. 다시 표시되지 않기 때문입니다.

  13. RDP 아래 화살표를 선택합니다.

  14. RDP 파일 다운로드를 선택합니다.

  15. 다운로드한 RDP 파일을 Windows 원격 데스크톱 앱으로 엽니다(https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients).

  16. 인증서를 수락하려면 계속을 선택합니다.

  17. 비밀번호를 입력하고 다음을 선택합니다.

이제 Windows 머신에 연결되어 명령 프롬프트를 사용할 수 있습니다.

선택 사항: GCP VM 인스턴스를 러너로 사용하기

  • 프로젝트에 러너 등록하기: gitlab-runner.exe register.
  • 러너 설치하기: gitlab-runner.exe install.
  • 러너 시작하기: gitlab-runner.exe start.

자세한 내용은 Windows에 GitLab Runner 설치러너 등록을 참조하세요.

개발자 팁

GCP 및 Windows에 대한 몇 가지 팁입니다.

GCP 비용 절감

GCP VM 인스턴스를 사용하지 않을 때는 중지하여 비용을 최소화하세요.

그렇게 하면 IP 주소가 매번 중지하고 시작할 때 변경되므로 콘솔에서 RDP 파일을 다시 다운로드해야 합니다.

chocolatey

Chocolatey는 Windows용 패키지 관리자입니다. https://chocolatey.org/에서 패키지를 검색할 수 있습니다.

  • choco install vim

Visual Studio (전체 GUI용 설치/사용)

Visual Studio를 설치하고 Windows 원격 데스크톱 앱 내에서 실행할 수 있습니다.

다음 명령어로 설치합니다: choco install visualstudio2019community

다음 명령어로 실행합니다: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe" .

.NET 3 지원

다음 DISM 명령어로 .NET 버전 3 지원을 설치할 수 있습니다:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All

nix -> Windows cmd

Windows 명령 셸을 사용하는 첫 번째 팁은 PowerShell을 열고 대신 사용하는 것입니다.

PowerShell 시작: start powershell.

PowerShell은 다음 모든 명령에 대한 별칭을 제공하므로 기본 명령을 배울 필요가 없습니다:

  • ls —> dir
  • rm —> del
  • rm -rf nonemptydir —> rmdir /S nonemptydir
  • / —> \ (경로 구분 기호)
  • cat —> type
  • mv —> move
  • 리디렉션은 동일하게 작동합니다 (예: >2>&1)
  • .\some.exe로 로컬 실행 파일 호출
  • curl 사용 가능
  • ... 사용 가능