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 Shared Runner Images.
이미지 빌드
Google Cloud 그룹에 이미지가 이미 구축되어 있는 경우가 있으니 작업을 하기 전에 사용 가능한 이미지를 검색해 보는 것이 좋습니다.
위의 공유 러너 리포지터리를 사용하여 Google Cloud 이미지를 빌드하려면 다음을 수행하세요:
- Packer 설치 (버전 1.5.1에서 작동 확인됨).
- Packer Windows 업데이트 프로비저너 설치.
- 리포지터리를 복제하고 https://github.com/rgl/packer-provisioner-windows-update로 이동합니다.
-
go build -o packer-provisioner-windows-update
명령을 실행합니다 (go가 설치되어 있어야 함). -
packer-provisioner-windows-update
가PATH
환경 변수에 있는지 확인합니다.
-
packer.json
파일의 모든 필수 환경 변수를 환경에 추가합니다 (direnv
사용 권장). - 다음 명령을 실행하여 이미지를 빌드합니다:
packer build packer.json
.
GCP에서 Windows 이미지 사용 방법
- 웹 브라우저에서 Google Cloud Platform 콘솔로 이동합니다.
- 생성한 이미지의 이름으로 이미지를 필터링하고,
windows
로 필터링하는 것이 좋습니다. - 이미지의 이름을 선택합니다.
- 인스턴스 생성을 선택합니다.
- 중요: 나중에 이름을 변경할 수 없으므로 이름을 변경합니다.
- 원하는 경우, 지역을 가능한 한 가까운 곳으로 변경하고 기타 옵션도 선택합니다.
- 페이지 하단의 생성을 선택합니다.
- 새로 만든 VM 인스턴스의 이름을 선택합니다 (필요한 경우 필터링하여 찾을 수 있음).
- Windows 암호 설정을 선택합니다.
- 선택 사항: 사용자 이름 설정 또는 기본값 사용.
- 다음을 선택합니다.
- 암호를 복사하여 저장합니다. 암호는 다시 표시되지 않으므로 저장해 둘 필요가 있습니다.
- RDP 아래 화살표를 선택합니다.
- RDP 파일 다운로드를 선택합니다.
- Windows 원격 데스크톱 앱(https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients)으로 다운로드한 RDP 파일을 엽니다.
- 인증서를 수락하려면 계속을 선택합니다.
- 암호를 입력하고 다음을 선택합니다.
이제 명령 프롬프트가 있는 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 설치/사용)
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을 사용할 수 있습니다
-
..
및.
을 사용할 수 있습니다