Windows 개발

개발 중에는 Windows 개발 머신이 필요한 경우가 있습니다. 이 문서는 GitLab의 공유 Windows 러너와 동일한 프리인스톨된 도구를 사용하여 Google Cloud Platform(GCP)에서 Windows 개발 가상 머신을 얻는 방법에 대한 가이드입니다.

Google Cloud에서 Windows를 사용하는 이유

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

이로 인해 Windows 플랫폼용 기능을 개발하는 것이 어려울 수 있습니다. GCP를 사용하면 작업이 완료되면 제거할 수 있는 임시 Windows 머신을 사용할 수 있습니다.

공유 Windows 러너

전체 Windows 개발 머신이 필요하지 않은 경우 공유 Windows 러너를 사용할 수 있습니다. GitLab 12.7 릴리스 게시물Windows 공유 러너 베타 블로그 게시물에서 유용한 정보가 많이 제공됩니다.

공유 Windows 러너를 사용하려면 .gitlab-ci.yml 파일의 관련 작업에 다음 tags를 추가하십시오.

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

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

개발용 GCP Windows 이미지

공유 Windows GitLab 러너Packer로 빌드됩니다.

Google Cloud 이미지를 빌드하기 위한 인프라스트럭처로서의 코드 저장소는 다음에서 확인할 수 있습니다: GitLab Google Cloud Platform 공유 러너 이미지.

이미지 빌드

Google Cloud 그룹에 이미지가 이미 빌드되어 있는 경우가 있습니다. 자체로 이미지를 빌드하기 전에 사용 가능한 이미지를 검색해 보십시오.

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

  1. Packer를 설치하십시오 (버전 1.5.1에서 작동하는 것으로 확인되었습니다).
  2. Packer Windows 업데이트 프로비저너를 설치하십시오.
    1. 저장소를 복제하고(https://github.com/rgl/packer-provisioner-windows-update) 복제된 디렉토리로 이동하십시오.
    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. Windows 원격 데스크톱 앱(https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients)으로 다운로드한 RDP 파일을 엽니다.
  16. 수준 인증을 수락하려면 계속을 선택하십시오.
  17. 패스워드를 입력하고 다음을 선택하십시오.

이제 명령 프롬프트를 포함한 Windows 머신에 연결되었어야 합니다.

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

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

더 많은 정보는 Windows에 GitLab 러너 설치러너 등록에서 확인할 수 있습니다.

개발자 팁

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

GCP 비용 절감

GCP VM 인스턴스의 비용을 최소화하려면 사용하지 않을 때는 중지하세요. 중지하면 매번 IP 주소가 변경되므로 콘솔에서 RDP 파일을 다시 다운로드해야 합니다.

chocolatey

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

  • choco install vim

Visual Studio (풀 GUI 설치 / 사용)

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

다음을 실행하여 설치하세요: 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을 사용하세요.

PowerShell 시작: start powershell.

PowerShell은 모든 다음 명령에 대한 별칭을 가지고 있어 원래 명령을 기억할 필요가 없습니다:

  • ls —> dir
  • rm —> del
  • rm -rf nonemptydir —> rmdir /S nonemptydir
  • / —> \ (경로 구분자)
  • cat —> type
  • mv —> move
  • 리다이렉션이 동일하게 작동합니다 (예: >2>&1)
  • 로컬 실행 파일을 호출하려면 .\some.exe
  • curl을 사용할 수 있습니다
  • ...를 사용할 수 있습니다