문제

사용자 변수 PATH설정한 로컬 사용자 계정으로 Bamboo 또는 리모트 에이전트 서비스 실행시 %PATH%에 사용자 변수 PATH만 포함되어지고 시스템 변수 PATH는 적용되지 않는 문제

Example:

User variable PATH: c:\foo
System variable PATH: c:\program files\perforce;c:\python27;c:\whatever
 
$> echo %PATH% 
c:\foo


원인

Java Service Wrapper 의 버그와 연관됨 (http://sourceforge.net/p/wrapper/bugs/168/)


해결방법1

  1. 사용자 변수 PATH의 항목을 아래 중 한가지로 수동 이동
    1. 사용자 변수 PATH의 모든 항목을 시스템 변수 PATH로 이동
    2. 사용자 변수 PATH의 모든 항목을 새로운 사용자 변수 LOCAL_PATH로 이동시키고 %LOCAL_PATH%를 시스템 변수 PATH에 추가
      (예: PATH=C:\Program Files\perforce;%LOCAL_PATH%)
  2. 사용자 변수 PATH를 삭제


해결방법2

  1. Bamboo 리모트 에이전트 종료
  2. 최신버전의 Java Service Wrapper 다운로드(Windows 32 bits만 가능)
    (https://download.tanukisoftware.com/wrapper/3.5.35/wrapper-windows-x86-32-3.5.35.zip)
  3. 다운받은 파일 압축 해제
  4. 아래 파일 다운받은 파일로 덮어쓰기
    1.  <remote-agent-home>\bin\wrapper.exe → \path\to\wrapper-windows-x86-32-3.5.35\bin\wrapper.exe
    2. <remote-agent-home>\lib\wrapper.dll → \path\to\wrapper-windows-x86-32-3.5.35\lib\wrapper.dll
    3. <remote-agent-home>\lib\wrapper.jar → \path\to\wrapper-windows-x86-32-3.5.35\lib\wrapper.jar
  5. Windows 64-bit JDK만 설치 되어 있을 경우
    1. 32-bit JDK 설치
    2. <remote-agent-home>\conf\wrapper.conf에서 32bit-jdk 경로로 변경

      wrapper.java.command=\full\path\to\32bit\jdk\bin\java


  6.  Remote Agent Windows Service 시작


해결방법3

Bamboo 또는 리모트 에이전트를 서비스로 시작하지 않고 실행파일로 직접 시작



참고 URL = https://confluence.atlassian.com/bamkb/bamboo-or-remote-agent-does-not-pick-up-the-path-environment-variable-correctly-when-running-as-a-windows-service-323982768.html