7

자동화 된 빌드 및 테스트로 구성된 여러 개의 Hudson 연속 통합 환경이 있지만 테스트 환경에 대한 자동화 된 배포는 수행하지 않습니다.Hudson Build/CI 서버에서 ASP.NET 웹 응용 프로그램 배포

다른 팀이 ASP.NET 웹 응용 프로그램을 어떻게 배포하고 있는지 궁금합니다. 우리 빌드는 IIS의 시작/정지를위한 스크립트를 사용하여 빌드의 아티팩트를 패키지화 한 다음 각 서버로 이동하여 설치 프로그램을 실행하여 웹 응용 프로그램을 설치해야합니다.

이 과정에서 약간의 병목 현상이되고 있으며 최신 빌드를 설치하기 위해 각 서버에 로그인하지 않고도 프로세스를 단순화 및/또는 자동화 할 수있는 제안을 찾고있었습니다.

+1

MSDeploy와 Hudson을 사용하게 되었습니까? 그렇다면 좋아요, 싫어요 및 구성 정보를 공유 할 수 있습니까? –

답변

4

유닉스/리눅스 기반 환경을 사용하는 경우 Fabric 또는 Capistrano을 확인하십시오. 웹 응용 프로그램을 자동으로 배포 할 수 있습니다.

편집 :

Windows에서 경우에, 당신은 Web Deployment Tool for IIS 체크 아웃 할 수 있습니다. 이것은 여전히 ​​"기술적 프리뷰"단계에있는 것처럼 보이지만 당신을 위해 효과가있을 수 있습니다 - 나는 개인적인 경험이 없습니다.

+0

불행히도, 우리는 거의 전적으로 Windows 샵입니다. – jamesaharvey

+1

ASP.NET 개발을 많이 할 때, 우리는 CruiseControl.NET 뒤에 사용자 정의 코드를 작성하여이를 수행했습니다.Google의 "IIS 용 웹 배포 도구"를 원할 수도 있습니다. 저는이 Microsoft 프로젝트의 상태를 잘 모릅니다.하지만 결국 원하는대로 할 것입니다. –

0

본 적이 없지만 Cargo은 하나의 해결책 일 수 있습니다.

1

단일 환경에 배포하거나 모든 환경에 배포를 자동화 하시겠습니까?

단일 환경에서 작업하는 경우 일반적으로 CI 서버에서 자동으로 실행되도록 스크립트를 작성하는 것이 일반적입니다. 빌드가 완료된 후 자동으로 또는 필요에 따라 자동으로 실행됩니다.

이상적으로는 테스트 환경에서 프로덕션 환경까지 모든 환경에서 동일한 배포 자동화를 사용하고 싶을 것입니다. 이 경우 Ops 사람들과 이야기하고 그들이 배치를 수행하는 방법과 일반적인 스크립트를 개발하는 것이 좋습니다. 우리 (Urbancode/AnthilPro)가 보통 deployment automation에 대해 이야기 할 때, 우리가 말하는 것과 고객에게 무엇을 권하고 싶습니다.

이 투자를하는 사람을 설득하는 것이 가치가 있다면이 백서 Build & Deployment Automation for the Lean Economy (pdf, 등록 필수)이 유용 할 수 있습니다. 여기에서는 린 (Lean) 기술인 Value Stream Mapping을 사용하여 배포 자동화를 통해 팀에 큰 도움이되는 이유를 설명합니다. 자동화에 대한 투자를 설명하는 종류의 수동 배포에서 "낭비"가 얼마나 많은지 알게되면 간단합니다.

JTF

+0

우리는 현재 10 개 이상의 테스트 환경과 100 개 이상의 프로덕션 서버를 수동으로 배포합니다. – jamesaharvey

+0

Yikes! 글쎄, 당신은 자동화에서 돌아올거야 항상 생각해! :) IIS에서 Apache vs JBoss 등 PHP를 사용하는 기술을 설명하기 위해 귀하의 질문을 편집하시는 것이 좋습니다. PHP vs .NET vs Java 등. 추가 정보 . –

0

Easiets 방법도 할 허드슨/젠킨스를 사용하여 너무. 젠킨스 빌드에서 배치 명령으로 호출되는 간단한 deploy.bat를 사용합니다.

스크립트는 다음과 같이 뭔가를해야만 같습니다

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://server:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="Default Web Site" /p:Username=serverinstance\user /p:Password=somepassword /p:VisualStudioVersion=11.0 

그럼 당신은 설치도 원격 연결을 허용 IIS. 그리고 네가 너무 좋아!

관련 문제