2011-03-03 5 views
3

우리는 AMAZON AWS ​​클라우드 서비스를 사용하여 우리의 주요 응용 프로그램 및 기타 도구를 호스팅하기로 결정했습니다. 우리의 주요 응용 프로그램이 에 배포 된 EC2 인스턴스 : 는 기본적으로, 우리는 그TeamCity의 아티팩트를 Amazon EC2 서버에 배포하는 방법

  • TESTSERVER 같은 구조를 가지고있다. 테스터는 애플리케이션에 액세스 할 수 있습니다.
  • SVNSERVER : Subversion 및 저장소를 호스팅하는 EC2 인스턴스.
  • CISERVER : JetBrains TeamCity가 설치되어 있고 이 구성된 EC2 인스턴스입니다.

바로 지금 SVNSERVER에서 코드를 체크 아웃하려면 빌드가 필요합니다. 빌드가 성공하면 유닛 테스트가 끝나고 모든 테스트가 끝나면 성공적인 빌드의 아티팩트를 TESTSERVER에 배포해야합니다.

코드 작성, 빌드, 테스트 및 아티팩트 생성을 위해 CISERVER 구성을 완료했습니다. 하지만 TESTSERVER에 아티팩트를 배포하는 방법을 관리 할 수 ​​없었습니다.

이 작업을 수행하기위한 제안이나 절차가 있습니까? 도움 주셔서 감사합니다.

피씨 : 나는 이것을 Question 읽고 만족하지 못한다.

+0

당신이 정말로 빌드가 완료해서 서버를 테스트 할 수있는 빌드를 밀어 하시겠습니까? – Yishai

+0

그리고 연결된 질문에서 답에 대해 무엇이 만족스럽지 않습니까? – Yishai

+0

@Yishai : 예 테스터가 볼 수 있도록 테스트 서버 [원하는 경우 개발 서버로 호출 할 수 있음]에 배포해야합니다. – SadullahCeran

답변

1

배포를 위해 수행하는 작업은 QA 담당자가 시스템에 로그온하여 필요할 때마다 팀 도시 저장소에서 가져 와서 배포하는 스크립트를 실행하는 것입니다. 새로운 빌드가 발생하면 팀 도시에서 볼 수 있고 (이메일 수신), 원하는 경우 언제든지 배포 할 수 있습니다. 이러한 스크립트를 작성하는 방법에있어 팀 도시 구성 요소는 이슈 검색과 관련됩니다. 그래서 내 대답은 URL로 아티팩트를 가져 오는 참조입니다 - 그 어떤 합리적인 스크립트 wget (Windows 포트뿐만 아니라) 또는 유사한 도구를 사용하여 할 수있는 일이있다.

자동 배포를 원할 경우 cron 작업 (또는 Windows 스케줄러)이 일정한 간격으로 스크립트를 실행하도록 예약 할 수 있습니다. 변화가 없다면별로 중요하지 않습니다. 필자는 주어진 시스템의 재시작으로 테스트를 망칠 수 있다는 지혜에 의문을 제기합니다.

팀 도시가 변화를 가져 오는 해결책은 팀 도시가 상자에서 벗어나는 것이 아니라 (내가 아는 한), 자신을 굴릴 수 있습니다. 예를 들어, 하나를 통해 트리거되는 것을 통해 전자 메일과 같은 팀 도시의 알림 방법 나는 그것의 유용성에 의문을 제기한다. 누군가가 무언가를 체크했기 때문에 임의의 간격으로 시스템을 변경하고 싶습니까? 나는 실제로 새로운 버전을 요구하는 것이 바람직하다고 생각할 것이다.

+0

예, 스크립트를 시작하는 것이 좋습니다. 스크립트 작성을 제안 해 주시겠습니까? WGET가 포함 된 .bat 파일 또는 이슈를 가져 오는 PowerShell 스크립트는 무엇입니까? 어떤 종류의 기사 또는 시작 가이드를 알고 있습니까? – SadullahCeran

+0

심각한 스크립트 작성을 위해 필자는 사용 가능한 경우 .bat 이상의 PowerShell을 확실히 권장합니다. 다음은 wget과 동등한 작업을 수행하는 방법에 대한 링크입니다. http://huddledmasses.org/wget-for-powershell/ – Yishai

+1

TeamCity 빌드 아티팩트는 어떻게 참조합니까? –

3

업데이트 : 여러 가지 방법으로 아티팩트를 게시 할 수있는 deployer plugin for TeamCity이 있습니다.

올드 대답 :

http://youtrack.jetbrains.net/issue/TW-1558#comment=27-1967

당신은

  1. 이를 만들 수 있습니다 여기에 는 인 TeamCity는 내장되어 있지 않습니다 FTP를 통해 게시 유물 문제에 대한 해결 방법입니다 빌드 아티팩트를 생성하는 구성
  2. FTP를 통해 아티팩트를 게시하는 구성을 작성하십시오.
  3. TeamCity에서 구성 2에서 구성 1로 아티팩트 종속성을 설정하십시오.
  4. 수동 또는 자동 트리거링을 사용하여 구성 1에서 생성 된 아티팩트와 함께 구성 2를 실행하십시오. 그러면 아티팩트가 빌드 1에서 구성 2로 다운로드되고 FTP 호스트에 게시했습니다.

또 다른 방법은 구성 1의 TeamCity에서 FTP를 통해 파일을 게시하는 추가 빌드 단계를 만드는 것입니다. 이 도움이

희망, KIR

+0

위대한 발견,하지만 팀 도시에서 별도의 프로젝트가 당신을 얻는 것을 얻을하지 않습니다. 빌드의 일부로 주 프로젝트의 개미 스크립트에서이 작업을 수행 할 수 있습니다. 주 빌드에 ANT를 사용하지 않는 이상은 아닙니다. – Yishai

+0

우리는 ANT 대신 MSBuild를 사용하고 있습니다. BTW, 고마워 Kir, 먼저이 구성을 만드는 것보다 FTP를 통해 서버를 연결하려고합니다. – SadullahCeran

+1

@Yishai ... QA 배포의 경우 I/QA는 풀 시스템을 선호하므로 별도의 배포 프로젝트가 필요합니다. QA가 테스트되는 동안 CI 빌드를 자동으로 배포하면 작업이 중단됩니다. 대신 QA는 다음 배포를 위해 준비가되면 빌드를 강제 실행합니다./jhd –