Skip to main content

Command Palette

Search for a command to run...

Jenkins 에러 해결하기 'sudo: no tty present and no askpass program specified '

Updated
Jenkins 에러 해결하기 'sudo: no tty present and no askpass program specified '
K

backend developer interested in technical problem

pipeline log에서 sudo: no tty present and no askpass program specified 같은 에러로그가 있다면 아래 절차를 따릅니다.

  • sudo 명령은 일반적으로 사용자의 비밀번호 입력을 요구

  • Jenkins 파이프라인은 사용자 상호작용을 기본적으로 지원하지 않는다

  • Jenkins 에이전트가 실행되는 시스템에서, 해당 사용자에게 비밀번호 없이 **sudo**를 사용할 수 있는 권한을 부여할 수 있다.

visudo /etc/sudoers
💡
sudoers를 수정할 때에는 꼭 visudo로 편집합시다. 한번 잘못설정되면 고칠수가 없고 그 이후로 sudo명령어도 못쓰게 됩니다 ㅜㅜ

  • 아래 명령어 추가( username은 각자의 환경에 맞게 세팅).

  • 또한 test용으로 NOPASSWD를 ALL로 했지만 보안을 위해 일부 명령어만으로 제한해주세요.

    • 예시 username ALL=(ALL) NOPASSWD:/usr/bin/apt-get, /bin/systemctl
💡
username ALL=(ALL) NOPASSWD:ALL
  • username : 이 부분은 사용자 이름을 나타냅니다. username 사용자는 Jenkins 서비스를 실행하는 데 사용됩니다. 파이프라인을 수행하는 user를 적어줍시다.

  • ALL=(ALL): 첫 번째 **ALL**은 이 규칙이 모든 호스트에 적용됨을 의미합니다. (ALL) 부분은 jenkins 사용자가 모든 사용자(루트 포함)의 권한으로 명령을 실행할 수 있음을 나타냅니다.

  • NOPASSWD:NOPASSWD: 이 옵션은 **sudo**를 사용할 때 비밀번호 입력을 요구하지 않도록 설정합니다. 즉, jenkins 사용자가 sudo 명령을 실행할 때 비밀번호를 입력할 필요가 없습니다.

  • ALL: 이 부분은 jenkins 사용자가 모든 명령을 sudo로 실행할 수 있음을 의미합니다.

129 views

More from this blog

rfc 959 읽어보면서 ftp이해하기

들어가며 프로젝트에서 FTP를 통해 파일을 전송하는 클라이언트를 개발했을 때 이야기입니다. 프로토콜에 대한 이해 없이 개발을 진행하다 보니 불필요하게 시간을 소모한 경험이 있어서 RFC 원문을 읽어보게 되었습니다. 읽게 된 계기 당시 FTP 프로토콜에 대한 이해가 부족한 상태로 개발을 시작했습니다. '제어를 위한 포트와 데이터 전송을 위한 포트가 분리되어 있다' 정도만 알고 있었고 Active 모드와 Passive 모드의 차이를 제대로 이해...

Dec 5, 20256
rfc 959 읽어보면서 ftp이해하기

mapstruct 로 보일러플레이트 코드 줄이기

배경 사내에서 교통 모니터링용 레이더 디바이스를 관리하는 API를 개발했을때 이야기입니다. 반복되는 코드에서 느꼈던 피로를 개선하고자 mapstruct를 적용해봤습니다. 실황 우선 일부 필드만 추출한 Device에 대해 간단히 이야기해야할 것 같습니다. 교통 모니터링용 레이더 디바이스로 신호등이나 가로등에 설치하며 설치된 좌표를 기록하는 위도, 경도와 레이더가 바라보는 방향을 의미하는 heading_angle필드 등이 있습니다. public...

Nov 13, 20259
mapstruct 로 보일러플레이트 코드 줄이기
T

takoyakisoba

38 posts