2011-09-13 2 views
4

최근 배포 자동화를 위해 빌드 서버를 설치하려고했습니다.TeamCity가 생산에서 생산까지 자동화합니다.

제 질문은 TeamCity와 같은 빌드 서버를 사용하여 프로덕션 (WebDeploy) 서버 (테스트 서버는 물론)로 변경 사항을 푸시하는 사람들입니까? 그렇다면 매번 소스 제어에서 다시 빌드하거나 테스트 서버에 푸시 한 빌드 파일을 사용하여 테스트를 수행해야합니다 (테스트 서버를 빌드 할 때 모든 web.config를 작성해야 할 수도 있습니다).

+1

최고의 자원 greatful 것이다 달성에 어떤 도움 : HTTP : //www.troyhunt. co.kr/2010/11/you-deploying-it-wrong-teamcity_26.html # comment-308937644 – user203538

+0

Google "teamcity msdeploy"및이를 설정하는 방법에 대한 많은 리소스를 찾으실 수 있습니다. 예 : [http://www.agileatwork.com/automatic-deployment-from-teamcity-using-webdeploy/](http://www.agileatwork.com/automatic-deployment-from-teamcity-using-webdeploy/) – terjetyl

답변

3

일반적으로 테스트 환경 배포를 위해 생성 한 것과 동일한 빌드 파일 세트를 prod 배포와 같이 사용하는 것이 좋습니다. 빌드에 들어간 내용이 일관성이 있음을 보장 할 수있는 유일한 방법이기 때문입니다 즉 두 가지 빌드 사이에 무언가가 빌드 서버에 설치되었거나 VCS가 약간 다른 소스 코드 파일 집합을 반환 할 수 있습니다.

TeamCity에서 빌드 아티팩트를 사용하면 빌드 출력을 특수 저장 영역으로 가져 와서 나중에 사용할 수 있도록 다른 빌드 구성에서 그릴 수 있습니다. TeamCity 문서에 대한 추가 정보 http://confluence.jetbrains.net/display/TCD6/Build+Artifact

구성 변경 사항을 고려하여 config 변환을 사용해보십시오. 이를 통해 서로 다른 연결 문자열, 환경 상수 등을 포함한 각 대상 환경에 대한 Web.config의 변형을 가질 수 있습니다. MSDN에 대한 추가 정보 http://blogs.msdn.com/b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx

실제로 TeamCity를 사용하여 프로덕션 환경에 배포하려는 경우 제한된 그룹 만이 해당 빌드 구성을 실행할 수있는 액세스 권한을 갖도록 TeamCity 권한을 사용하여 이러한 권한을 잠그는 것을 고려할 수 있습니다. (실제로이 작업은 Dev 팀과 Ops 팀 간의 업무 분담을 보장하는 필수 조건입니다. 추가 예방책으로, Prod 빌드 용으로 별도의 빌드 에이전트를 설정하고 필요할 때까지 계속 사용하지 않도록 설정하십시오 (실수로 빌드 빌드 구성을 실행하지 못하게합니다 ...). 내가 거기에 있었으니 한숨).

0

우리는 이전에 CruiseControl.net과 TeamCity를 사용하여 테스트 서버의 변경 사항을 푸시했습니다. 특별 NAnt 타겟을 사용하여 배포를 트리거했습니다.

TeamCity에서 설치를 시작하기위한 수동 시작만으로 TeamCity에서 빌드 프로젝트를 만들었습니다 (또는 TeamCity에서 대상이라고도 함).

MSI 패키지를 설치 한 원격 PowerShell 스크립트로 설치가 완료되었습니다.

0

필자가 시도하기로 결정한 것은 모든 구성을 위치로 변환 한 MSBuild 스크립트로 패키지를 만들려고합니다 (물론 압축 파일로 저장하지 않으려 고하며 내가 무엇인지 순간과 함께 고투).

그래서이있을 것입니다 :

1 인 TeamCity 구성 :

  • Tranform 웹을.위치
  • -
  • 빌드가
  • MSDeploy는

2 빌드 구성을 테스트하려면 CONFIGS |

  • MSDeploy 빌드 파일과 생산 및 라이브 설정에

이 내가 건너 한

관련 문제