2014-10-16 4 views
0

을 끌어 동안 매크로가 붙어아파치 개미 호출 자식 아파치 개미 스크립트에서

<git command = "pull" options = '-v' dir = "subfolder/subsubfolder" failonerror = "true"/> 

을하지만 디렉토리로 subfolder/subsubfolder 또는 내 허드슨 작업을 시작할 때 C:\direct\path\to\subfolder\subsubfolder\ 내 작업이 막 혔고 콘솔 출력에만 반영됩니다. 심지어 오류 또는 아무것도. 허드슨은 Windows XP가 설치된 컴퓨터에 설치됩니다. 내가 잘못

C:\direct\path\to\subfolder\subsubfolder>C:\Git\cmd\git.exe pull -v 

를하고있는 중이 야 무엇 : -

내가 윈도우 CMD에서이 명령을 사용하려고했습니다 나는이 같은 REPO 폴더에서 오전 때 일하고있어? 개미와 더 좋은 통합 git을위한 방법이 있습니까?

일부 새로운 노트 :

  • 내가 오류가 나쁜 디렉토리에있는 자식 풀을 간부 인하려고합니다.
  • git checkout을 실행하려고하면 작동합니다.
  • 만약 내가 exec git fetch하려고한다면 git pull처럼 멈춘다.

다른 편집, 어쩌면 몇 가지 단서 : git 명령을 사용하여 .bat 파일을 호출하는 직접 Git을 변경합니다. 디렉토리에 들어가려면 CD이고 그 다음은 git pull입니다. 스크립트를 실행하면 간단하게 잘 작동합니다. 그러나 허드슨에서는 영원히 멈춰 있습니다. 어쩌면 Java에서 git 하위 프로세스를 호출 할 때 환경 변수가 필요한 것일까 요? 힘내는 백그라운드에서 어떤 에이전트도 사용하지 않고 SSH 무소속 연결을 사용하고있다.

답변

0

"중단"되면 대화 형 프롬프트가 표시 될 수 있으며 Jenkins는이를 처리 할 수 ​​없습니다.

exec 끝에 <arg line="> out.txt 2>&1"/>을 추가하십시오. 다시 중단 한 후, 해당 파일의 내용을 당신이 >&을 탈출해야합니다 out.txt

참고 작업을 죽이고 검토 있도록이 파일로 모든 리디렉션됩니다, 그래서는 다음과 같습니다
<arg line="&gt; out.txt 2&gt;&amp;1"/>

+0

출력을 '> 2> & 1'로 리디렉션 할 수 없습니다. 잘못된 refspec 오류가 발생합니다. Ant Exec Task는 출력 방향을 바꾸기 위해'output'과'outputproperty'를 가지고 있습니다. 그러나 그들은 아무것도 반환하지 않으며 심지어 파일을 만들지 않습니다. 어쨌든 - 저는 저장소가없는 전원이 적은 SSH 연결을 사용하고 있습니다. Windows CMD 또는 GitBash에서 명령을 사용하면 아무 것도 입력 할 필요가 없습니다. – Sarpens

+0

젠킨스는 자신의 '젠킨스'사용자 (Windows에서는 기본적으로 '로컬 시스템'사용자를 사용합니다)를 사용합니다.이 사용자는 평소 로그인 한 사용자와 다릅니다. 사용자 프로필 폴더의 키를 사용하여 암호가없는 SSH를 사용하는 경우 젠킨스 세션에서 작동하지 않습니다. 특히 젠킨스 사용자를 위해 SSH 키를 구성하거나 암시 된 키 위치에 의존하지 않고 대신 키 경로를 지정해야합니다. 'ssh'에는'-i' 옵션이 있습니다. '자식'에 대해 모르겠다 – Slav

+0

고마워요! 당신의 조언은 제게 많은 도움이됩니다. Ant 스크립트의 임시 해결책으로 git 명령을 사용하여 배치 스크립트를 호출하는 PSExec를 호출합니다. 이상하지만 작동합니다. 나는 단순화하기 위해 Gradle에서 스크립트를 다시 작성하려고합니다. – Sarpens