Подтвердить что ты не робот

Какую оболочку использует Дженкинс?

Какая оболочка используется в Jenkins при вызове команды shell? Я использую Jenkins на машине с Linux.

4b9b3361

Ответ 1

С помощью кнопки справки script: Запускает оболочку script (по умолчанию sh, но это настраивается) для создания проекта.

Если вы перейдете в Manage Jenkins → Configure System, вы найдете вариант (называемый "исполняемый файл Shell" ), чтобы установить имя или абсолютный путь к оболочке, которую вы хотите использовать ваши сценарии оболочки...

Для моей системы без настройки этой опции... она использует bash!

Ответ 2

Просто объявите свою оболочку в первой строке вашего script, как и в любом файле оболочки script:

#!/bin/bash

Ответ 3

Я попробовал распечатать env, добавив следующую команду оболочки в мою сборку Jenkins.

env

Результат показал, что для моего экземпляра SHELL был установлен tcsh.

Ответ 4

Дженкинс по умолчанию ищет sh в переменной среды PATH, однако результат (например, /bin/sh) может указывать на разные оболочки. Например, на Ubuntu 6.10 или новее, /bin/sh является символической ссылкой на Dash.

Итак, для вопроса "какая оболочка используется в Дженкинсе...", это зависит. Чтобы избежать неопределенности, вы можете: (возьмите Bash в качестве примера)

  • Явным образом настройте исполняемый файл оболочки в "Управление Jenkins" > "Настроить систему" > "Shell" ( "Shell" ) "Shell" , например, /bin/bash. (общесистемная конфигурация)
  • Следует использовать строку shebang для указания интерпретатора, например, #!/usr/bin/env bash (для задания)

Ответ 5

Вы можете установить оболочку по умолчанию, используя Jenkins> Управление Jenkins> Настроить систему> Исполняемый файл оболочки.

Для заданий, использующих оболочку, отличную от стандартной, начните шаг сборки оболочки Выполнить с шебанга, например:

#!/usr/bin/tcsh -e -x

command1
command2
   ...

Вы даже можете использовать /usr/bin/env для использования, скажем, Python:

#!/usr/bin/env python3

Помните, что после #! не должно быть пробела #! :

#! /usr/bin/tcsh    # Wrong

Это даст ошибку,

java.io.IOException: Cannot run program ""

Я проверял выше на Дженкинс 1.625.3

Ответ 6

Я запускаю jenkins с Redhat, так как jenkins не устанавливает пользователя с помощью оболочки по умолчанию, которую вы должны добавить, когда вы входите в систему как пользователи jenkins   su-jenkins -s/bin/bash