Jenkins 환경 변수는 어디에 설정해야 합니까?

Jenkins 환경 변수는 어디에 설정해야 합니까?

저는 Linux에서 Maven을 사용하여 애플리케이션 구축을 자동화하기 위해 Jenkins를 사용하고 있습니다.

Jenkins가 사용할 수 있도록 환경 변수(예: $JAVA_HOME첨부된 프로젝트) 를 어디에 설정해야 합니까?$PATH

나는 성공하지 못한 채 몇 군데 다른 곳을 시도했습니다. 로그인/비로그인, 대화형 또는 비대화형 등 Jenkins가 어떤 쉘을 사용하는지 잘 모르겠습니다.

답변1

이 질문은 Stack Overflow에서 제기되었습니다. 여기에서 답변을 살펴보는 것이 좋습니다.Jenkins에서 환경 변수를 설정하는 방법은 무엇입니까?

전역 정적 환경 변수는 Jenkins 관리 > 시스템 구성 > 전역 속성 > 환경 변수에서 Jenkins 설치에 대해 설정할 수 있습니다.

Executor 설정에서 각 Executor에 대한 환경변수를 설정할 수 있습니다. "환경 변수" 확인란이 선택되면 환경 변수 구성이 공개됩니다.

작업별로 환경 변수를 설정할 수도 있습니다.

  • 당신이 사용하는 경우관로, 사용withEnv단계.

  • 이전 Freestyle 작업을 사용하는 경우 다음을 사용하십시오.환경 주입끼워 넣다.

답변2

이는 전역 도구 구성을 위한 완벽한 시나리오입니다. Jenkins 홈페이지에서 다음을 클릭하세요.Jenkins 관리 -> 전역 도구 구성. 기본 설치가 있는 경우 이 페이지에서는 빌드 서버에 Maven을 설치하기 위한 여러 구성을 추가할 수 있습니다.

Maven 전역 도구 구성

이러한 도구를 구성한 후 "최상위 Maven 목표 호출" 빌드 단계를 추가하여 작업에서 사용할 수 있습니다. 각 작업에 특정 슬레이브/노드를 사용하는 경우 각 서버에 어떤 Maven을 설치해야 하는지 선택할 수 있습니다. 그런 다음 작업이 실행되면 Jenkins가 자동으로 설치를 관리합니다.

"최상위 Maven 목표 호출" 빌드 단계

특히 파이프라인의 경우Pipeline Maven 통합 플러그인. 아직 사용해본 적은 없지만 문서에 따르면 원하는 대로 작동할 것 같습니다.

파이프라인 플러그인과 Maven 통합은 sh mvn 또는 bat mvn을 호출하여 파이프라인 작업에 사용할 Maven 환경을 구성하는 withMaven 단계를 사용하여 제공됩니다.

그리고 이번 블로그 포스팅은,Maven 프로젝트를 위한 선언적 파이프라인, Maven을 사용하여 파이프라인을 실행하도록 Jenkins를 구성하는 좋은 예를 제공합니다.

답변3

Jenkins 마스터 인스턴스를 구성하기 위해 코드로 구성을 사용하는 경우 globalNodeProperties다음과 같이 사용할 수 있습니다.https://github.com/jenkinsci/configuration-as-code-plugin/blob/d9171d086fbbf92cb5807da2dd12d6fc43df7a6b/demos/jenkins/jenkins.yaml#L7-L11:

globalNodeProperties:
    - envVars:
        env:
          - key: FOO
            value: BAR

관련 정보