실행하는 프로그램에는 원격 기계의 일부분으로 지속적인 통합

StackOverflow https://stackoverflow.com/questions/1605478

  •  05-07-2019
  •  | 
  •  

문제

우리가 사용하는 teamcity 는,넝고 독자 여러분이 생각하에서 명령을 실행하려면 원격으로 기계의 부분 릴리스의 포장이 있습니다.모든 것이 잘 작동할 넝 콘솔에서만 실행하는 경우에 teamcity 는 독자 여러분이 생각하단(정지)50%of the times.
나는 보았을 통해 많은 포럼이 있을 것 해결 방법이 증가하는 복잡한 호출의 포함을 잃어버린 출력 및 errorcode 의 명령입니다.
가 누구나 알기 쉬운 방법에서 명령을 실행하려면 원격 기?
나지 않아 마음이 설정하는 일부 응용 프로그램에서 원격 컴퓨터처럼,telnet 서버에 어떤 조언에서 무엇을 할까?
감사

도움이 되었습니까?

해결책

나는이 문제를 해결의 조합으로 RemCom 고 사용자 지정 MSBuild 라는 작업 ExecParse.

RemCom,지 않기 때문에 그렇게 이상한 일을 STDOUT(따라서 걸을 구축).우리가 사용하고,ExecParse 출력을 캡처하는 원격 작업,그리고 분석에서 종료 코드 출력이기 때문에,표준 MSBuild Exec 작업하지 않습 캡처를 출력합니다.일부 넝 상응하는 출력을 캡처 할 수 있습니다.

나는 대한 자세한 이 블로그 게시물: "지속적인 통합:실행하면 원격으로 작업을 teamcity 는 블렌드 및 visual studio 서로 다른 범주,RemCom 및 ExecParse"

다른 팁

PSEXEC는 표준 입력/출력으로 일부 펑키 한 일을하고 있으며 Java (TeamCity가 구축 된)에서이를 호출하면 모든 종류의 문제와 안정성 문제가 발생합니다. psexec -d는 함께 작동하지 않았습니다.

나는 팀 시티에서 PowerShell을 사용하여 그것을 해결했습니다.

아래 스크립트는 원격 서버에서 IIS 7 ApplicationPool을 중지합니다.

[string]$HostName = "myWebServer"
[string]$Cmd = "C:\Windows\System32\inetsrv\appcmd.exe stop apppool MyMainAppPool” 
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ($Cmd) -ComputerName $HostName

내 블로그에서 그것에 대해 더 많이 : http://blog.degree.no/2012/03/executing-commands-and-programs-en-a-remote-machine-using-powershell/

PSEXEC에 (NANT) 타임 아웃을 넣고 시간이 내지 않을 때까지 전화를 반복하는 것은 어떻습니까?

-D 옵션 (완료되기를 기다리지 않음)과 함께 psexec을 사용하고 리턴 코드를 캡처합니다. -D를 사용한 경우 리턴 코드는 원격 시스템에서 실행되는 프로세스의 프로세스 ID입니다. 그런 다음 PSList를 사용하여 더 이상 원격 시스템에서 찾을 수 없을 때까지 프로세스 ID의 원격 시스템을 폴링합니다.

원격 머신에 TeamCity 빌드 에이전트를 설정하고 로컬로 작업을 수행하여 "아티팩트 종속성"으로 바이너리를 전달하면 어떻게됩니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top