web-dev-qa-db-ja.com

Jenkinsでrootとしてスクリプトを実行する方法は?

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
42
Mahesh

Sudoを使用してスクリプトを実行する必要があります。

Sudo /path/to/script

ただし、jenkins/etc/sudoersでスクリプトを実行することを許可する必要があります。

jenkins    ALL = NOPASSWD: /path/to/script
78
Igor Chubin

@Igor Chubinの答えは100%正しいですが、通常のエディターでsudoerファイルを開かないでください。常にvisudoを使用する

入力するだけ

Sudo visudo

これにより、/etc/sudoersそして保存時に、フォーマットにエラーがないことを確認します。

sudoerファイルでエラーが発生すると、Sudoアクセスが失われるため、常にvisudoを使用してください

13
Lav Patel

私はこの質問でパーティーに遅れていることに気付きましたが、参考のためにここに2cを投げると思いました:これを達成するためにJenkinsのSSHプラグインを使用します(単にlocalhostターゲットを設定します)。このようにして、Sudoを使用して外部スクリプトを呼び出す代わりに、Jenkins内にスクリプトを直接含めることができます(通常の「シェルの実行」ステップのように)。

6
Nathan Crause