Created
February 13, 2015 22:38
-
-
Save imranity/9246dd195f785cf4783d to your computer and use it in GitHub Desktop.
How to solve "sudo: no tty present and no askpass program specified" when trying to run a shell from Jenkins
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Running shell scripts that have contain sudo commands in them from jenkins might not run as expected. To fix this, follow along | |
Simple steps: | |
1. On ubuntu based systems, run " $ sudo visudo " | |
2. this will open /etc/sudoers file. | |
3. If your jenkins user is already in that file, then modify to look like this: | |
jenkins ALL=(ALL) NOPASSWD: ALL | |
4. save the file by doing Ctrl+O (dont save in tmp file. save in /etc/sudoers, confirm overwrite) | |
5. Exit by doing Ctrl+X | |
6. Relaunch your jenkins job | |
7. you shouldnt see that error message again :) |
Hi, i am running a jmeter script from jenkins aws box.I need to write a report file to jmeter folder.It is pulling issue file not found exception.Even though i gave all access .
thanks!
Thanks so much!
In response to the question asked here:
https://stackoverflow.com/questions/25189348/unable-to-provide-password-to-a-process-with-subprocess-python
On linux you can bypass sudo prompt using:
echo <password> | sudo -S whoami
Pass the formatted command to subprocess and you are good to go:
import subprocess as sp
cmd = "whoami"
password= "<password>"
stdout, stderr = sp.Popen("echo {} | sudo -S {}".format(password, cmd), shell=True, stdout=sp.PIPE, stderr=sp.PIPE).communicate()
print(stdout.decode())
if stderr:
print("error occured:")
print(stderr.decode())
It should print root
as command is executed by sudo user.
thanks....
thank u sooo much dude ! u helped me a lot . Thanks again
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks it's running ... 💯