0

msbuild.exe를 사용하여 SSIS 패키지 (.ispac)를 빌드하고 배포하는 방법에 대한 기사 (이 중 특히 http://speaksql.wordpress.com/2013/06/07/a-journey-to-db-deployment-automaton-ssis-build-using-msbuild/)를 읽었습니다. 나는 필요한 모든 어셈블리가있는 컴퓨터에서 msbuild.exe 명령 만 사용하여 아무런 문제가 없었습니다.SSIS 2012 TFS 2013과의 지속적인 통합

일단 TFS Build Server를 사용하려고하면 몇 가지 문제가있었습니다. 처음에는 msbuild.exe (SSIS.MSBuild.proj)와 함께 프로젝트를 사용하는 것이 TFS 2008 및 2010에서 사용 되었기 때문에 TFS 2013에서 권장되지 않았 음을 알았습니다. 어쨌든, 나는 단지 그것을 작동시키고 싶었지만 그럴듯하게 들렸지 만 TFSBuild.proj를 사용해야했습니다. 그건 문제가 아니었지만 내 다음 문제는 내가 사용하고 있던 프로젝트 (Microsoft SQL Server 커뮤니티 샘플 : 통합 서비스)가 내 빌드 서버에 설치되지 않은 SQL Server 어셈블리 (Microsoft.SqlServer.ManagedDTS)를 참조한다는 것입니다.

그런 다음 나는 그 어셈블리를 GAC에 설치하거나 상대적 경로에서 참조하여 더 큰 문제가 있음에도 불구하고 gacutil을 사용하여 설치해야하는 패키지에 대한 사용자 지정 활동을 사용하고 있음을 알게되었습니다 .exe를 호스트 서버에 설치하고 원격으로 해당 DLL을 설치하는 방법을 궁금합니다.

내가 믿음을 잃기 시작했을 때, 여기에 타사 도구 (예 : http://remotegacutil.codeplex.com/)를 설치하지 않고 SSIS 패키지의 지속적인 통합을 구현하는 쉬운 방법이 있습니까? 빌드 서버?

비슷한 문제가 있습니까? 그것을 해결 했습니까? 방법?

감사합니다.

답변

0

devenv.exe를 사용하여 ispac을 빌드하십시오. Invoke 프로세스 태스크를 추가하고 devenv를 호출하십시오. Add an Invoke Process to the workflow

빌드 템플릿 인보 프로세스 추가가 상술 한 문제는 하드 코딩 도시되어 등 VS2010, 전화 devenv를 정확한 버전의 경로를 지정하는 시퀀스 컨테이너/12/13 나타내고 있지만 인수에 넣을 수 있으므로 개별 빌드 정의에 채울 수 있습니다. 명확하게 볼 수없는 것은 "C : ₩ Program Files (x86) ₩ Microsoft Visual Studio 11.0 ₩ Common7 ₩ IDE ₩ devenv.com"입니다.

다음은 호출 프로세스입니다.이 작업은 지정된 devenv를 호출합니다. ISPAC 파일을 작성하는 데 사용되는 인수를 전달하고 전달합니다.

Call Devenv.exe and Pass Arguments

인수는 당신에게 당신이 이전 버전에 구축하고 싶었 실제 프로젝트를 얻을 것 localProject에 전달되는, 당신은 때문에 새 템플릿의 변경으로, 2013 뭔가 다른 일을 할 수 있습니다.

이렇게하면 TFS2012 방식이됩니다. 2013 년에 빌드하려는 프로젝트를 얻으려면 다른 것을해야 할 수도 있지만 빌드가 실행되고 .ISPAC 파일이 생성됩니다.

이 시점에서 powershell을 사용하여 ISPAC를 배포 할 때 powershell 호출에 스크립트를 추가하여 SSIS 카탈로그를 만들고 작업을 예약하는 것을 처리 할 수 ​​있습니다. PowerShell로 배포

여기 Deploying ISPAC's with Powershell를 GAC에 내 사용자 지정 작업을 설치하는 방법에 대한 원격으로 내 질문에 대답하지 않는 내가 잘못 해요 않는

+1

, 찾을 수 있습니다. 그러나 그것은 ManagedDTS 어셈블리에 대한 나의 질문에 대답 할 수 있습니다.Visual Studio 2010 버전이 필요하다고 생각합니다.이 버전은 빌드 서버에 설치되지 않습니다. –

+0

'devenv.exe 사용'을 설명하면 향후 독자들이 ispac을 만드는 데 사용하는 방법을 정확하게 알 수 있습니다. 현재 대답은 대답입니다 – billinkc

+0

빌드 템플릿에서 devenv를 호출하는 방법에 대한 설명이 확장되었습니다 –