Jenkinsで、デフォルトユーザーの代わりにrootとしてシェルスクリプトを実行する必要があります。何を変更する必要がありますか?
私のsudoersファイルは次のようなものです。
# User privilege specification
root ALL=(ALL) ALL
igx ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
# (Note that later entries override this, so you might need to move
%Sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
# Members of the admin group may gain root privileges
%admin ALL=(ALL) NOPASSWD:ALL
root ALL=(ALL) ALL
jenkins ALL=NOPASSWD: /var/lib/jenkins/workspace/ing00112/trunk/source/
jenkins ALL=(ALL) NOPASSWD:ALL
#Defaults:jenkins !requiretty
Sudo
を使用してスクリプトを実行する必要があります。
Sudo /path/to/script
ただし、jenkins
が/etc/sudoers
でスクリプトを実行することを許可する必要があります。
jenkins ALL = NOPASSWD: /path/to/script
@Igor Chubinの答えは100%正しいですが、通常のエディターでsudoerファイルを開かないでください。常にvisudoを使用する
入力するだけ
Sudo visudo
これにより、/etc/sudoers
そして保存時に、フォーマットにエラーがないことを確認します。
sudoerファイルでエラーが発生すると、Sudoアクセスが失われるため、常にvisudo
を使用してください
私はこの質問でパーティーに遅れていることに気付きましたが、参考のためにここに2cを投げると思いました:これを達成するためにJenkinsのSSHプラグインを使用します(単にlocalhostターゲットを設定します)。このようにして、Sudoを使用して外部スクリプトを呼び出す代わりに、Jenkins内にスクリプトを直接含めることができます(通常の「シェルの実行」ステップのように)。