젠킨스에 설치한 후 시 명령을 찾을 수 없습니다.

젠킨스에 설치한 후 시 명령을 찾을 수 없습니다.

저는 Jenkins를 사용하여 시를 사용하여 Python 패키지를 만들고 있습니다. Jenkinsfile에 시를 설치하는 단계 명령은 다음과 같습니다.

stage('poetry'){
  steps {
    sh 'curl -sSL https://install.python-poetry.org | python3'
    sh 'export PATH="$HOME/.local/bin:$PATH"'
    sh 'poetry --version'
  }
}

하지만 빌드 중에 이 출력 오류가 발생합니다.

sh
+ curl -sSL https://install.python-poetry.org
+ python3
Retrieving Poetry metadata

The latest version (1.4.0) is already installed.
[Pipeline] sh
+ export PATH=/var/lib/jenkins/.local/bin:/var/lib/jenkins/workspace/retina3/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
+ PATH=/var/lib/jenkins/.local/bin:/var/lib/jenkins/workspace/retina3/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[Pipeline] sh
+ poetry --version
/var/lib/jenkins/workspace/retina3@tmp/durable-deb083f7/script.sh: line 1: poetry: command not found

무엇이 잘못되었을 수 있나요?

답변1

sh명령은 자체 쉘 세션을 시작합니다. 따라서 한 세션에서 설정한 모든 변수는 다른 세션에서 사용할 수 없습니다. 대신 변수를 설정하고 동일한 세션에서 명령을 실행하십시오.

sh 'export PATH="$HOME/.local/bin:$PATH"; poetry --version'

관련 정보