Скрипт пользовательской интерактивной оболочки не работает в Jenkinsfile - PullRequest
0 голосов
/ 07 июня 2019

У меня есть пользовательский интерактивный сценарий оболочки, который успешно работает на моем сервере Linux.Но когда я пытаюсь запустить его через jenkins, он не запускается.

Я создал Jenkinsfile.

Jenkinsfile

node('slaves')  {
      try
      {
    def app

stage('Remmove Docker service') {

        sh 'sshpass ssh docusr@10.26.13.12 "/path/to/shell/script"'

    }
}
}

Shell Script

#!/bin/bash
read -p "Hi kindly enter the api name : " api
docker service logs $api --raw

Оболочка Scipt успешно работает на моем локальном сервере, когда я пытаюсь запустить ее на Jenkins с помощью Jenkinsfile, она не принимает переменную $api в моей оболочкескрипт, который является интерактивным для пользователя.

1 Ответ

0 голосов
/ 07 июня 2019

То, что вы пытаетесь достичь, не служит какой-либо цели автоматизации вашей работы Дженкинсом, если я правильно понял. Таким образом, ваша работа на самом деле ищет пользовательский ввод, и в этом случае лучше всего иметь параметризованную сборку jenkins . В вашем случае вы все равно можете дать аргумент команде sshpass $api и прочитать ее из самой среды jenkins. Или лучше сделать параметризованный jenkins build и использовать пользовательский ввод $api в качестве параметр.

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