comando de poesía no encontrado después de instalarlo en jenkins

comando de poesía no encontrado después de instalarlo en jenkins

Estoy usando Jenkins para crear un paquete de Python usando poesía, aquí está el comando stage para instalar poesía en Jenkinsfile

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

Pero recibo este error de salida durante la compilación.

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

¿Qué podría estar mal?

Respuesta1

Cada shcomando inicia su propia sesión de shell. Por lo tanto, las variables que establezca en una sesión no estarán disponibles en otra sesión. En su lugar, configure la variable y ejecute el comando en la misma sesión.

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

información relacionada