2016-07-19 3 views
0

첫 번째 단계는 .sln 파일의 MsBuild입니다. 우리는 우리 플랫폼과 구성을 통과하고 모든 것이 올바르게 구축됩니다.TeamCity Nuget Pack 단계별 패키지 누락시

다음은 Octopus Deploy에 사용할 파일을 모두 NuGet에 압축합니다. 이 단계에서는 모든 .csproj 파일을 지정합니다 (이유는 무엇인가, 모든 것이 이미 구축되어 있는지는 확실하지 않음).

생성 된 패키지에는 2 개의 폴더가 있습니다. 여기에는 필요한 모든 파일이 포함 된 Content 폴더와 Lib 폴더 만 들어 있습니다. 프로젝트는 dll을 컴파일합니다. 프로젝트에서 참조하는 다른 dll을 포함하지 않습니다.

답변

0

Octopack을 사용하여 배포 할 NuGet 패키지를 쉽게 처리 할 수있는 것 같습니다.

단계 1. 배포 가능한 응용 프로그램 인 프로젝트에 Octopack NuGet package을 설치하십시오.

Install-Package OctoPack 

2 단계. 참조 된 NuGet 패키지를 설치할 기본 컴파일 전에 빌드 단계가 있어야합니다.

enter image description here

3 단계. 다운로드 페이지에서 TeamCity plugin for Octopus deploy을 설치하고 TeamCity 서버 서비스를 다시 시작하십시오.

4 단계. 이제 MSBuild 러너 구성에서 추가 옵션을 볼 수 있으며 빌드 구성에서 다음 상자를 선택하면 성공적인 배포에 필요한 모든 것이 있어야하는 NuGet 패키지가 생성됩니다.

enter image description here

작은 팁 같이, I 출력 패키지를 참조하고 (보다가 빌드의 끝에 이슈로 부착 될 때까지 대기하고, 따라서 두 개의 요구함으로써 직선 낙에 패키지를 게시 NuGet 팩이 포장되어 있지 않은 경우

enter image description here

는 희망이

+0

나는 이것을 발사하고 그것이 어떻게 작동하는지 보게 될 것이다. 또한 외부 참조의 dll 중 아무 것도 내 패키지에 포함되지 않은 것처럼 보입니다. 나는. AutoFac, 그물 프레임 워크, EF 등이 포함됩니까? – user3953989

+0

NuGet 패키지로 참조되는 경우 설치 프로그램 단계는 빌드 전에 복원해야합니다. 표준 패키지 레퍼런스가 아닌 경우 소스 제어하에 있어야 할 수도 있습니다 (권장하지 않음) –

+0

이러한 유형의 비 NuGet 참조를 자동화 된 방식으로 처리하는 가장 좋은 방법은 무엇입니까? – user3953989

-1

도움) 구성을 구축 요 당신의 프로젝트 파일에서 기대했던 것처럼, 당신은 NuGet spec 파일을 만들고, 어떻게 패키지되어야하는지 지정해야합니다. 단순한 .spec 파일을 만들고 웹 응용 프로그램 디렉토리에 넣는 것만 큼 간단하지만 다른 프로젝트는 좀 더 복잡 할 수있는 웹 응용 프로그램의 경우. Nuspec Reference에서 컨텐츠 및 종속성을 추가하는 방법을 확인하십시오. https://docs.nuget.org/create/nuspec-reference

+0

프로젝트에 파일을 추가하거나 제거 할 때마다 .nuspec을 수동으로 업데이트해야합니까? – user3953989

+0

아니요, 새로운 종속성이 필요한 경우 업데이트해야 할 수도 있습니다. spec 파일은 패키지의 내용과 방법을 완벽하게 제어합니다. Nuget은 프로젝트 파일에서 직접 패키지를 만들 수도 있지만, 원하는 경우처럼 작동하지 않는 경우가 있습니다. –