2013-07-24 2 views
0

저는 웹 배포와 함께 TFS Build를 사용하여 서버에 대한 웹 사이트 및 서비스의 배치를 처리합니다. 또한 서버에도 배포해야하는 Windows 서비스가 있습니다.TFS 빌드를 사용하여 원격 서버에서 .bat 파일을 실행하십시오.

내 질문은 : TFS 빌드 서버에서 웹 서버에 Windows 서비스를 배포하는 방법이 있습니까?

다른 문제는 배포하기 전에 서비스를 중지해야한다는 것입니다. 빌드 구성 파일을 수정하려고 시도했지만 작동하도록 관리 할 수 ​​없습니다.

감사합니다.

답변

1

옵션 :

  1. 당신이 웹 서버에 TFSBuildagent 서비스를 설치하고 웹 서버의 서비스 관리자 권한을 실행하는 사용자를 부여하면은, 당신은 단지 배치를위한 새로운 빌드 정의를 만들 수 있습니다/설치. 이것은 매우 간단하고 간단합니다. 그러나 이것은 제한된 수의 웹 서버 (모든 2000 서버에 TFS BUild 에이전트를 설치하려고하는)가 한정되어 있고 비 독점적 환경에서만 작동 할 때만 작동합니다. 이것은 비 Prod 배치를 위해 우리가 수행하는 방법입니다. 서비스를 중지하는 것과 같은 모든 작업을 처리하는 배포 용 빌드 정의를 작성했습니다.

  2. TFSBuild 서비스를 실행하는 사용자 빌드 서버에서 웹 서버에 충분한 권한이 있다면 psexec 또는 powershell을 사용하여 원격으로 명령을 실행할 수 있습니다. 아래의 링크를 읽기 : 1. PSEXEC

  3. Powershell Remote commands

당신이 당신의 빌드 구성 파일에서 서비스를 중지하기 위해 무엇을 했는가? 사용자에게 충분한 권한이 있습니까?

TFS 빌드 워크 플로에서 원격 컴퓨터의 스크립트를 실행하는 데 도움이되는 inbuilt 활동/프로세스가 없습니다.

1 단계 당신은 원격 컴퓨터에서 스크립트를 어떻게 실행할 것인지 식별하는 것입니다. 위에서 언급 한 것처럼 PSEXEC 또는 Powershell을 사용할 수 있습니다 (원격 컴퓨터의 PowerShell을 실행하는 것은 설정이 좀 더 복잡 할 수 있지만) .

2 단계, MSI를, 일을 할 서비스를 중지, 설치하는 실제 스크립트를 작성 등

3 단계, 현재 빌드 (고화질) 편집 - 새 사용자 지정 작업을 만들거나 빌드 정의 내에서 InvokeProcess 활동의 활용 2 단계에서 생성 한 스크립트를 호출하십시오. InvokeProcess Activity

+0

서버에 TFS Build를 설치하는 것은 옵션이 아닙니다. 원격 서버에서 명령을 호출하기 위해 빌드 구성 워크 플로에 빌드하는 방법이 있었으면합니다. 빌드 서버는 계정이 작업을 수행 할 수 있도록 웹 서버에 대한 모든 권한을 가지며 워크 플로에 추가하기 만하면됩니다. – sevargdcg

+0

위의 답변을 업데이트 해주세요. – Isaiah4110

관련 문제