비 NuGet 패키지를 Bamboo 빌드와 통합하는 "우아한"방법을 찾고자했습니다. NuGet 번들로 비 NuGet 패키지를 추가하는 주제에 스택의 과다가있다Bamboo에서 비 Nuget 패키지 번들
:
managing non-nuget dlls along with nuget packages
Creating NuGet package with reference to a non-NuGet reference
Trying to add non-.NET libraries to NuGet package
하고 목록에 간다. Bamboo에서 NuGet을 사용하는 방법에 대한 정보가 많이 있으며 그 부분은 원활하게 작동합니다.Bamboo를 실행하는 다른 원격 서버에있을 수있는 자동화 된 빌드 환경이있는 상황을 다루지는 않습니다.
특히 저는 Xamarin.iOS 배포를 HockeyApp로 자동화하려고합니다.
단계는 다음과 같습니다
- 코딩 및 iPhoneSimulator Mac 용 Windows에서와와 VS2015에서 현지 테스트
- 는
- 대나무 푸시을 수정 해 개막 배포 지점에 병합의 Bitbucket 서버에 밀어
- 빌드를 구축하는 것은 배포 지점을
- 시작은 A의 컴파일
- 실행합니다 NuGet 다운로드를 체크 아웃 D-특별/아이폰 환경,
- 맞이할 HockeyApp 배포 떨어져 IPA를 만드는 내가이 개 종속 관계를 가지고있는 하나를 제외하고 거의 모든 단계가 장소에
(즉위한 무료 부가있다) 상업용 공급 업체 (Syncfusion)는 내 Visual Studio 프로젝트/솔루션이 내 프로젝트 디렉토리 외부의 위치를 기준으로 참조해야하는 "Studio"제품에 번들로 묶을 것을 결정한 이유가 알려져 있지 않습니다.
결과적으로 Bamboo 빌드는 찾을 수없는 DLL로 실패합니다. 그 이유는 위의 5.와 6. 사이 어딘가에 들어가야하기 때문입니다.
바이너리를 복사 한 다음 내 저장소로 체크인/커밋/푸시하기를 원하지 않습니다. 나쁜 일로 간주됩니다. My Bamboo Plan은 이미 바이너리를 드래그 할 필요없이 실제 빌드 전에 NuGet 패키지를 성공적으로 가져 왔습니다.
DLL을 Bamboo 빌드 머신 (즉, 원격 에이전트가 실행되는 곳)에 복사하는 것이 하나의 아이디어 였지만, VS/MSBuild 프로젝트 파일에 이제는 배선 된 디렉토리가있는 것이 문제였습니다. Syncfusion Studio를 설치하거나 해당 DLL에 대한 디렉토리 구조 만 에뮬레이션해야합니다.
그래서 .csproj 참조를 자동으로 조정해야합니다. Yet Another Task and Script를 제외하고는 어떻게 할 것인지 잘 모르겠습니다.
모두에 대해 Syncfusion에서 소리 지르는 것 외에도은 NuGet을 통해 해당 DLL을 사용할 수 있습니다 (일부는 있으며, 5 단계에서 성공적으로 수신했기 때문에).이 누락 된 단계를 작동시키는 방법에 대한 제안이있는 사람이 있습니까?