запуск команды сценария SSH от jenkins с использованием SSH - PullRequest
0 голосов
/ 19 декабря 2018

Для развертывания приложения на сервере Linux ubuntu у меня есть куча команд SSH, которые я в данный момент выполняю, используя PuTTY.Сервер имеет локальную учетную запись serviceaccount1.В PuTTY я подключаюсь к серверу с помощью serviceaccount1 и выполняю следующие команды одну за другой

cd /home/serviceaccount1/cr-ml
script /dev/null
screen -S data_and_status
cd cr-ml/notebooks
source activate crml
unset XDG_RUNTIME_DIR
jupyter kernelgateway --api='kernel_gateway.notebook_http' --seed_uri='data_and_status_api.ipynb' --port 8894 --ip 0.0.0.0
...
...
and so on

Теперь я хочу автоматизировать это с помощью Jenkins.Я установил плагин SSH , настроил учетные данные, используя имя пользователя SSH serviceaccount1 с закрытым ключом

Затем создал новый проект jenkins и добавил шаг сборки Execute shell scripts on remote host using ssh, а затем добавил все вышеперечисленные команды.
Когда я строю проект jenkins, он застревает при выполнении 2-ой команды script /dev/null Я вижу следующий вывод консоли enter image description here

1 Ответ

0 голосов
/ 19 декабря 2018

Мне кажется, виновником является команда screen -S data_and_status.Как только вы запустите screen, я не думаю, что вы сможете выполнять последующие команды через соединение SSH.

В качестве альтернативы, вы можете попробовать использовать инструмент, такой как Ansible, для запуска нескольких команд противудаленный сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...