[MSBuild] MSBuild 웹 URL 호출 - MSBuild.Extension.Pack

728x90
반응형

젠킨스에서 빌드를 진행하고 배포를 하는 것을 MSBuild를 이용하고 있습니다. MSBuild를 이용하고 있기 때문에 가급적 프로젝트가 빌드되고 배포되는 과정의 파이프라인을 별도의 툴을 이용하기 보다는 MSBuild를 이용하려고 하고 있는데요. 서버가 IIS에 배포되고, 정상적인 서버 오픈이 되었는지를 체크하는 과정이 필요하게 되었습니다. 

Web URL을 Call 함으로써 해당부분의 체크가 용이 할 것으로 판단되어 검색하던 도중

MSBuild.Extension.Pack 이라는 Nuget 패키지를 발견해서 정리해봅니다. 

저희는 또한 XML 파일을 이용해서 MSBuild의 파이프라인을 구성하고 있어, 해당 파일을 이용해서 웹 URL 을 호출하는 방법을 정리하였습니다.

 

MSBuild.Extension.Pack

해당 패키지를 설치해 줍니다.

해당 패키지를 설치 하게 되면, 프로젝트 폴더내의 packages 폴더에 해당 라이브러리가 설치가 되는데요.

 

위 경로를 XML 파일에 Import 하는 부분을 추가해줘야 Web URL을 호출 할 수 있습니다. 

 

Import 하는 방식은 아래와 같습니다. 

<Import Project="..\packages\MSBuild.Extension.Pack.1.9.1\build\net40\MSBuild.Extension.Pack.targets"/>

 


XML 파일 수정

<Target Name="Build">
    <Message Text="2. Build Start ######################################################################"></Message>
    <MSBuild.ExtensionPack.Web.HttpWebRequest
        TaskAction="GetResponse" Url="http://000.000.000.000/api/Version/ConnectServer">
			<Output TaskParameter="Response" ItemName="ResponseDetail"/>
			<Output TaskParameter="Status" PropertyName="ResponseStatus"/>
    </MSBuild.ExtensionPack.Web.HttpWebRequest>
    <Message Text="Status: $(ResponseStatus)"/>
    <Message Text="StatusDescription: %(ResponseDetail.StatusDescription)"/>
    <Message Text="StatusCode: %(ResponseDetail.StatusCode)"/>
    <Message Text="CharacterSet: %(ResponseDetail.CharacterSet)"/>
    <Message Text="ProtocolVersion: %(ResponseDetail.ProtocolVersion)"/>
    <Message Text="ResponseUri: %(ResponseDetail.ResponseUri)"/>
    <Message Text="Server: %(ResponseDetail.Server)"/>
    <Message Text="ResponseText: %(ResponseDetail.ResponseText)"/>
 </Target>

저의 포스트 중에 찾아보면 XML을 이용한 MSBuild를 포스팅한 글이 있습니다. 

자세한 내용은 참조해주시면 됩니다.

https://holjjack.tistory.com/36?category=764987

 

[MSBuild] XML 을 이용한 Build

MSBuild 이용시, XML 파일을 이용해서 Build 에 관련한 셋팅 및 절차를 기록하여 진행 할 수 있습니다. 실제로 진행하고 있는 프로젝트 혹은 솔루션 폴더 내에 해당 xml 파일을 위치 시켜놓고, MSBuild를 이용해..

holjjack.tistory.com

 

해당 XML 을 조금 수정해서 MSBuild.ExtensionPack.Web.HttpWebRequest 를 추가해주면, Web URL을 호출 할 수 있습니다.

 

Web URL 호출 이후 Status 및 상태 및 결과값(ResponseText) 까지 받아오는 것을 확인 할 수 있습니다.

해당 구문을 활용해서 Error 여부도 체크할 수 있을 것 같습니다. 

 


 

https://documentation.help/MSBuild.ExtensionPack/cb8d8d78-2d5f-b238-6727-4d6133d831ec.htm

 

MSBuild.ExtensionPack Namespace - MSBuild Extension Pack Documentation

Overview This namespace hosts the base task used for all Extension Pack tasks

documentation.help

 

728x90