В настоящее время я создаю агент сборки для наших DevOps. С агентом я хочу остановить solr через скрипт на сервере unix. Проблема в том, что мне нужно ввести пароль, чтобы остановить службу.
Есть ли простой способ ввести пароль в сценарии оболочки? Текущий скрипт:
service solr stop
выдает следующую ошибку:
2020-03-12T12:50:27.0480993Z Successfully connected.
2020-03-12T12:50:27.0483958Z service solr stop
2020-03-12T12:50:29.7903365Z
2020-03-12T12:50:29.8193011Z ##[error]Failed to stop solr.service: Interactive authentication required.
2020-03-12T12:50:29.8208401Z
2020-03-12T12:50:29.8208979Z
2020-03-12T12:50:29.8209589Z ##[error]See system logs and 'systemctl status solr.service' for details.
2020-03-12T12:50:29.8209971Z
2020-03-12T12:50:29.8210587Z ##[error]Command failed with errors on remote machine.
2020-03-12T12:50:29.8341862Z ##[section]Finishing: stop solr
Я также пытался ввести пароль для скрипта, например:
echo <password> | sudo -S service solr stop
It работает на сервере локально, но buildserver выдает:
2020-03-12T12:52:17.9543478Z Successfully connected.
2020-03-12T12:52:17.9545108Z echo *** | sudo -S service solr stop
2020-03-12T12:52:18.9946984Z ##[error][sudo] password for ***:
2020-03-12T12:52:23.4808034Z ##[error]Command failed with errors on remote machine.
2020-03-12T12:52:23.5019910Z ##[section]Finishing: stop solr
Любые другие идеи, как я могу удаленно остановить solr с помощью сценария оболочки?