Jenkinsでジョブを実行した時、シェルを実行している権限は?
シェルスクリプトの中にNodeJsをインストールするコマンドが書いてあり、
Jenkinsのジョブを実行するとそのスクリプトが実行されます。
Jenkinsのジョブを使用して実行すると
コンソール出力に下記のメッセージが出ていてNodeJsがインストールされません。
sudo: no tty present and no askpass program specified
しかし、vncを使用して遠隔ログインしターミナルを立ち上げて
シェルスクリプトを実行するとエラーが出ずインストールが完了します。
vncログインしたものと全く同じログインをしたユーザーの環境上で
Jenkinsは起動しているのですが、Jenkins自体は別の権限?で動作しているのでしょうか?
■環境
MacOSX:10.10.3
【追記】
大事なことを書き忘れてました
visudoで下記を追加はしたのですが失敗します。
$ sudo /usr/sbin/visudo
------------------------
# Defaults requiretty # tty無しの場合sudoさせない
Defaults:jenkins !requiretty # ユーザjenkinsはtty無しでsudo可能
jenkins ALL=(ALL) NOPASSWD:ALL # ユーザjenkinsはパスワード無しでsudo可能