6

우리는 10 년 동안 ColdFusion 매장이었으며 현재 ASP.net MVC로 전환하고 있습니다. 우리의 타겟 프레임 워크는 VS 2010 베타를 사용하는 .net 4.0 BETA 2입니다. 2. Windows Server 2008의 두 인스턴스 (준비 및 프로덕션)를 설정하고 기존 데이터베이스 서버 (SQL Server 2008)를 사용하게됩니다.SQL을 사용하여 스테이징 및 프로덕션에 ASP.net MVC 응용 프로그램 배포

우리 모두는 ASP.net 자체에서 많은 경험을 갖고 있지만 C# 및 MVC 패턴 모두에서 매우 편안합니다. 코딩 자체는별로 문제가되지 않습니다. 하지만 배포 프로세스가 있습니다. 우리의 목표는 애플리케이션을 자동으로 풀다가 테스트하여 애플리케이션이 커밋되면 준비되도록하는 것입니다. 그런 다음 웹 사이트가 품질 관리를 통과 할 때 프로덕션 사이트의 체크 아웃에 태그를 지정한 후 전환 할 수 있습니다.

내가 여기에서 문제를 겪고있는 몇 가지 사항은 ASP.net 응용 프로그램의 개념과 이것이 SVN에 통합되는 방법입니다. PHP 나 RoR과 같은 CF는 모두 스크립팅 언어이므로 빌드 프로세스가 필요 없습니다 (소스를 프로덕션으로 체크 아웃하는 것은 매우 간단합니다). 그러나이 경우 응용 프로그램을 컴파일해야합니다. 문제가 발생하기 시작합니다. 코드를 풀고 컴파일 한 다음 어떤 식 으로든 라이브 서버에 푸시하는 일종의 응용 프로그램이있는 다른 서버를 만들 필요가 있습니까? 그렇다면 이것을 달성하는 가장 좋은 방법은 무엇입니까? 우리가 Nant와 같은 빌드 도구를 사용하여 끝내면 데이터베이스 마이그레이션을위한 추가 단계를 추가하는 것이 사소한 일이라고 상상해보십시오. 그러나이를 수행하는 가장 좋은 방법은 무엇입니까?

또 다른 약간 관련이없는 문제는 디자이너가 우리 코드를 사용하는 방법입니다. 대부분은 Mac에 있고 VS를 사용하는 것은별로 선택의 여지가 없습니다. 그들은 어떻게 aspx, css 및 심상 파일을 쉽게 편집 할 수있을 것입니까? 우리의 목표는 가능한 한 투명하게 만드는 것입니다.

우리는 많은 쇼핑을 해 왔으며 ASP.net MVC는 언어와 현재 플랫폼에 익숙한 최상의 옵션 인 것으로 보입니다. 가능한 모든 것을 투명하게 만들기 위해 좋은 빌드 프로세스를 찾아야합니다. 이 자료에는 엄청난 재원이 있다는 것을 알고 있습니다 만, 저는 직접 경험을 통해 사람들의 의견을 듣고 싶습니다.

답변

2

Microsoft TFS에는 멋진 빌드 솔루션이 내장되어 있습니다. 값 비싸지 만 효과적입니다. 또한 무료 인 CruiseControl을 살펴보면 잃을 수 없습니다. JetBrain의 TeamCity도 훌륭한 옵션입니다. 이 모든 지속적인 빌드 및 통합 솔루션은 연구의 출발점이 될 것입니다.

http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx

http://www.cruisecontrol.com/

http://www.jetbrains.com/teamcity/

심지어 Draco.net 좋은 고려 사항이다 :

http://draconet.sourceforge.net/

+0

나는 이것을 언급해야하지만 TFS를 보았고 비용 때문에 그걸로 가지 않기로 결정했다. 훌륭한 패키지처럼 보이지만 기존 인프라 (SVN, JIRA, FishEye)에 많은 노력을 기울인 후에도 함께 할 수는 없습니다. 귀하의 링크를 주셔서 감사합니다 :) – nlaq

+0

TeamCity 잘 과거의 나를 위해 일한하고 좋은 가치가있다. 다른 링크가 당신에게 시작을 제공하기를 바랍니다. 한 편으로 web.config에서 를 사용해야합니다 ... 그러면 고통을 덜어 줄 것입니다. –

0

우리는 http://www.cruisecontrol.com/ (CC)를 사용하여 우리의 SVN/빌드 서버에서 실행 . SVN에서 최신 소스를 끌어내어 빌드 및 배포를 수행 할 수있는 Nant 또는 MSBuild 스크립트를 생성하려면 자체 구성/스크립트 파일을 통해 CC를 구성 할 수 있습니다.

우리는 데이터베이스 변경 사항을 모두 SVN에 들어가는 변경 스크립트로 스크립트합니다. 그런 다음 웹 사이트 배포 중에 SQL Server에 변경 스크립트를 배포하는 사용자 지정 명령 줄 도구가 있습니다. 이 모든 작업은 Nant 스크립트에서 수행됩니다.

그래서 각 프로젝트의 Nant 스크립트는 빌드, 웹 사이트 배포 및 SQL 변경 스크립트 배포를 처리합니다.

무언가가 끔찍하게 잘못 될 경우, 까다로운 부분은 롤백을 처리하는 것입니다. 특정 문제에 대한 다른 질문을 게시하는 것이 좋습니다.