GitLab의 Windows VM을 사용하여 Windows Form App ( .NET Framework )의 CI [빌드 테스트]
7300 단어 WindowsC#VisualStudio2019GitLab
소개
아무래도! 생산 기술부의 엔지니어입니다. GitLab 공식 블로그 2020.01.21에 따르면, Windows Shared Runners 베타 버전을 사용할 수 있다는 사실을 실제로 시도했습니다. 베타판이라고 하는 것으로 앞으로 개선되어 갈 것이라고 생각합니다만, 우선은 빌드, 테스트가 다닌 것에 기쁘게 생각합니다. CI 결과는 다음과 같습니다.
환경
전제 조건
Visual Studio의 도입 및 프로젝트의 작성이 실시된 것.
GitLab 프로젝트 만들기
GitLab -> New project -> Create From template -> .NET Core 템플릿으로 만듭니다.
리포지토리에 만든 Visual Studio 프로젝트 추가
.gitignore은 gitignore.io의 Visual Studio 용 템플릿으로 대체되었습니다.
.gitlab-ci.yml 추가
.Net Framework 및 MSBuild와 같은 도구은 Windows VM에 미리 설치되어 있으므로 경로 나 실행 방법을 잘못하지 않으면 설치없이 실행할 수 있습니다.
&
를 붙입니다. vstest.console.exe
는 Microsoft 공식 경로를 시도했지만 Windows VM의 CommonExtensions에서 vstest.console.exe
를 찾을 수 없습니다. 그리고 나왔기 때문에 Extensions의 것을 사용하도록 경로를 변경하고 있습니다. .gitlab-ci.yml
.shared_windows_runners:
tags:
- shared-windows
- windows
- windows-1809
stages:
- build
- test
before_script:
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
build:
extends:
- .shared_windows_runners
stage: build
script:
- '& "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe" UVWCalibrator.csproj'
test:
extends:
- .shared_windows_runners
stage: test
script:
- '& "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe" -t:restore'
- '& "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe" Tests\UVWCalibratorTests\UVWCalibratorTests.csproj'
- '& "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" Tests\UVWCalibratorTests\bin\Debug\UVWCalibratorTests.dll'
참고: 패키지 복원
Windows Form 프로젝트는 위의 ci가 제대로 작동하지 않습니다. 테스트는 MSTest.TestAdapter와 MSTest.TestFramework의 두 가지 패키지를 사용하기 때문에
MSBuild.exe -t:restore
를 실행하고 있지만 설치가 필요한 패키지를 찾을 수 없게 종료됩니다. VisualStudio2017 이상의 프로젝트를 MSBuild에서 NuGet 패키지 복원 , 에 따라 설정하면 잘 움직이게 됩니다. 올바르게 설정하면 솔루션 탐색기 참조에 추가할 수 있습니다.마지막으로
이것으로 설정이 완료되었습니다. 수고하셨습니다. Windows의 CI/CD는 하기 어려운 부분이 많았습니다만, 이러한 Windows VM은, 향후의 개발 효율에 크게 공헌할 것이라고 생각하고 있습니다.
Reference
이 문제에 관하여(GitLab의 Windows VM을 사용하여 Windows Form App ( .NET Framework )의 CI [빌드 테스트]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TomoyukiSugiyama/items/f8fbddef101d50d9a3a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)