Khi chạy bất kỳ lệnh sudo nào từ Jenkins, tôi nhận được lỗi sau: sudo: no tty present and no askpass program specified
.Các phương pháp hay nhất để tránh lỗi Jenkins: sudo: không có tty và không có chương trình yêu cầu nào được chỉ định
Tôi hiểu rằng tôi có thể giải quyết điều này bằng cách thêm một mục NOPASSWD đến file /etc/sudoers
tôi mà sẽ cho phép người dùng Jenkins để chạy các lệnh mà không cần mật khẩu. Tôi có thể thêm một mục nhập như thế này:
%jenkins ALL=(ALL)NOPASSWD:/home/me/dir/script.sh
... nhưng điều này dẫn đến các vấn đề sau: https://stackoverflow.com/questions/17414330/how-to-avoid-specifying-full-path-in-sudoers-file
tôi có thể thêm một mục nhập như thế này:
%jenkins ALL=NOPASSWD: ALL
... nhưng điều này cho phép người dùng jenkins tránh lời nhắc mật khẩu cho các lệnh TẤT CẢ các lệnh, điều này có vẻ hơi không an toàn. Tôi chỉ tò mò về những lựa chọn của tôi ở đây, và nếu có bất kỳ phương pháp hay nhất nào tôi nên cân nhắc.
Tôi không thể nhận tệp nào bạn đang thay đổi bằng lệnh này? % jenkins ALL = (ALL) NOPASSWD: /home/vts_share/test/sudotest.sh Tôi đang cố gắng sử dụng lệnh sudo cũng trong jenkins, vì vậy tôi cần biết tệp nào tôi nên chạy lệnh này? – MeM
Đó là một tệp cụ thể trên máy của tôi, tôi đã chỉnh sửa bài đăng để hiển thị một tệp chung –