2013-10-03 1 views
11

일부 원시 C 코드가 포함 된 maven 프로젝트를 빌드 할 예정인 머신에 jenkins 슬레이브를 설정하고 있습니다. 그러나 기계 자체는 문제가되고 있습니다. 이 머신은 JAVA_HOME 같은 많은 환경 변수를 사용하는 상당히 오래된 프로그램을 호스팅하고 있습니다.이 프로그램은 maven이 제대로 작동해야합니다. 종속 머신에서 maven을 실행하려면 maven 또는 maven을 실행하기 전에 이러한 환경 변수를 설정해야하며 ssh와 같은 다른 종속성은 실행되지 않습니다. 변수를 영구적으로 변경할 수는 없으므로 maven 빌드를 실행하기 전에 환경 변수를 변경하는 방법이 필요합니다.maven을 실행하기 전에 환경 변수를 설정하십시오. (젠킨스 빌드에서)

mvn을 실행하기 전에 환경 변수를 설정하여 빌드를 수동으로 실행할 수 있으며 빌드는 매력처럼 작동합니다. 하지만 자동으로 빌드를 시작하려면 젠킨이 필요합니다. 그것을시피

내가하는 하나해야 구성 젠킨스 받는다는 또는 구성 받는다는 실행 전에 환경 변수를 설정 (젠킨스 실행을 처리 할 수있는 방식으로) 대신 어떤 환경 변수의 특정 값을 사용

귀하의 도움에 감사드립니다.

답변

16

다양한 옵션이 있습니다.

  • 구성 (노드 속성에서 "환경 변수"선택) 환경 변수를 설정할 도구
  • 을하는 노드 젠킨스 필요한 환경을 설정 자체. 노드 구성에서 기본 구성 (노드 등록 정보에서 "도구 위치"선택)에 구성된 도구에 대해 다른 경로를 설정할 수 있습니다.이 옵션을 사용하려면 플러그인이 필요하지 않다고 생각합니다.
  • 사용은 EnvInject plugin합니다 (Setenv Plugin이되지 않습니다)
  • 사용 Envfile Plugin
  • 은 메이븐의 수동 시작하기 전에 환경 변수를 설정합니다. 두 가지를 모두 같은 빌드 단계에서 수행해야합니다. (최악의 해결책)
  • 특정 노드에서만 유효하며 작업에서 사용할 수있는 java/maven 구성을 만듭니다. 작업이 특수 노드에서만 실행되고 다른 작업은 실행되지 않는 경우에만 작동합니다.

나는 첫 번째 또는 두 번째 옵션

0

Jenkins가 작업 구성을위한 UI를 통해 환경 변수 설정을 지원할 수도 있다고 생각합니다. 그렇지 않다면, 환경을 설정하고 빌드 작업을 실행할 때 jenkins가 해당 스크립트를 실행하도록 스크립트를 작성할 수 있습니다.

+0

예, 젠킨스는 환경 변수를 설정하는 여러 가지 방법을 지원하는 것이 좋습니다. –

+0

@PeterSchuetze를 도와 주셔서 감사합니다! – chad