지난해 말 회사의 Jenkins 도입으로 지속적인 통합의 첫 걸음을 내디뎠습니다. 이 글에서는 Jenkins 설치 방법에 대해 자세히 설명하지 않겠습니다. .Net 환경. 또한, 본 글은 Windows 환경에 설치된 Jenkins를 기준으로 작성되었습니다.
먼저 여러 설치 패키지를 준비하여 Windows에 설치해야 합니다.
.NET Framework 4.6.1 | https://www.microsoft.com/zh-cn/download/details.aspx?id=49982 |
Microsoft Build Tools 2015 | https://www.microsoft.com/zh-CN/download/details.aspx?id=48159 |
.NET Framework 4.6.1 Developer Pack | https://www.microsoft.com/zh-CN/download/details.aspx?id=49978 |
NuGet x86 Commandline | https://dist.nuget.org/index.html |
첫 번째는 물론 익숙한 .NET Framework 실행 환경입니다.
두 번째는 MSBuild이지만 일반적으로 그래픽 인터페이스 컴파일을 사용합니다. 프로그램을 게시하지만 실제로 Visual Studio는 다양한 작업을 수행하기 위해 MSBuild를 호출하므로 Jenkins가 자동으로 코드를 컴파일하도록 하려면 이를 위한 MSBuild 세트도 준비해야 합니다.
세 번째 패키지는 .NET Framework 4.6.1 개발자 팩으로, 과거에는 Targeting Pack이라고 불리며 여러 어셈블리가 포함되어 있습니다. 예를 들어 Visual Studio 2013의 초기 버전에는 출시 당시 .NET Framework 4.6.1이 없었습니다. 이를 지원하려면 이 개발자 패키지를 설치해야 합니다. 설치하지 않으면 나중에 4.6.1 프로그램을 컴파일할 때 System.Object 및 System.Attribute 어셈블리를 찾을 수 없다는 오류 메시지가 표시됩니다. 4.6.1 개발자 팩에는 4.0, 4.5 및 4.6 Targeting Pack의 콘텐츠가 포함되어 있습니다. 4.6.1 패키지를 설치하는 경우 다른 버전의 4.0 패키지를 설치할 필요가 없습니다. 또한, 중국어 지원이 필요한 경우에는 영어 버전을 먼저 설치한 후 중국어 언어팩을 설치해야 합니다.
마지막 항목은 NuGet 콘솔 프로그램입니다. 프로그램을 컴파일하기 전에 NuGet을 사용하여 패키지를 복원해야 합니다. 이 소프트웨어는 설치할 필요가 없으며 D:ToolsCI와 같은 고정된 위치에 배치하기만 하면 됩니다.
Jenkins 플러그인 관리 페이지에 들어가서 다음 위치에서 MSBuild 플러그인을 설치하세요. https:// wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin
설치 후 "전역 도구 구성" 인터페이스로 들어갑니다:
열린 페이지에서 "MSBuild" 열을 찾아 먼저 "MSBuild 설치"를 클릭한 후 "MSBuild 추가" 버튼을 클릭하여 MSBuild.exe 경로를 구성합니다. 저는 32비트 MSBuild를 사용하기 때문에 다음과 같이 구성할 수 있습니다.
MSBuild의 기본 설치 경로
32位 | C:Program Files (x86)MSBuild14.0BinMSBuild.exe |
64位 | C:Program Files (x86)MSBuild14.0Binamd64MSBuild.exe |
구성 후 저장하는 것을 잊지 마세요.
실행 환경과 Jenkins 플러그인이 준비되었으니 새로운 Job을 생성하여 시도해 보겠습니다. 저희 회사는 Subversion을 사용하기 때문에 SVN에서 코드를 다운로드하겠습니다. Git이나 다른 리포지토리를 사용하는 방법도 비슷하므로 여기서는 건너뛰겠습니다.
NuGet 패키지를 복원하려면 "빌드" 열에 "Windows 일괄 명령 실행" 단계를 추가해야 합니다. 복원
1 D:\tools\CI\nuget.exe restore .\YourSolutionName.sln
먼저 nuget.exe의 경로를 지정한 후 복원 명령을 사용하여 현재 디렉터리에 YourSolutionName.sln 솔루션 파일의 패키지를 복원합니다. 실제 상황에 따라 수정할 수 있습니다.
계속 "빌드" 열에서 새로운 "MSBuild를 사용하여 Visual Studio 프로젝트 또는 솔루션 빌드"(MSBuild를 사용하여 생성됨)를 만듭니다. VS 프로젝트 또는 솔루션) 단계
위에서 아래로 순서:
선택한 MSBuild 버전
대상 프로젝트 또는 솔루션 파일의 경로 + 파일 이름
MSBuild 매개 변수
여기서는 주로 "명령줄 인수" 구성에 대한 자세한 내용은 MSBuild 설명서를 참조하세요. MSDN: https://msdn.microsoft.com/zh-CN/library/dd393574.aspx
ASP.NET MVC 프로젝트를 생성하고 주로 다음을 사용하여 파일 시스템에 게시하고 싶습니다.
/t:Rebuild Rebuild
/p:Configuration=Release 릴리스 빌드 모드
/p:VisualStudioVersion=14.0 하위 도구 집합 지정( https:/ /msdn.microsoft.com/zh-cn/library/bb383796.aspx) 버전, 설정되지 않은 경우 오류가 보고됩니다.
/p:DeployOnBuild =True;PublishProfile=Testing-Environment -CI-publish Testing-Environment-CI-publish.pubxml을 사용하여 파일을 게시하여 프로젝트
[ 2017년 1월 24일 09:30 업데이트]
어젯밤에 글을 올리면서 놓쳐서 죄송합니다. MSBuild를 사용하여 위 구성에 따라 프로젝트를 컴파일하는 경우 다음 오류가 발생할 수 있습니다.
가져온 프로젝트 "C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0WebApplicationsMicrosoft.WebApplication.targets"가 그렇지 않았습니다. 발견
이때 Visual Studio 2015가 설치된 컴퓨터만 찾아서 C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0 디렉터리의 모든 콘텐츠를 해당 디렉터리에 복사하면 됩니다. Jenkins가 있는 Windows 시스템을 다운로드한 다음 다시 빌드하면 됩니다.
추후 Jenkins 통합 xUnit.net 단위 테스트 및 자동 릴리스에 대한 내용이 있을 수 있지만, 가능할지는 모르겠습니다. 몇년 전 포스팅이 안되네요 XD
이 글이 모든 분들께 도움이 되었으면 좋겠습니다.