Дженкинс: Как изменить оболочку в скриптовом конвейере?

#shell #jenkins

Вопрос:

Распечатайте оболочку по умолчанию с приведенным ниже сценарием.

 node {
    stage('Clean'){
        echo "${SHELL}"
...
}
 

Судя по журналу, это /usr/local/bin/tcsh.

 [Pipeline] echo  
/usr/local/bin/tcsh
 

Как изменить его на другую оболочку, например /bin/csh?

Ответ №1:

При попытке ниже кода echo все еще выводит «/usr/local/bin/tcsh», но внезапно переменная среды /bin/csh становится доступной.

 stage('Clean'){
        sh '''#!/bin/csh
                echo "Clean old coverage data"
                echo "${SHELL}"
        '''
}