Utils [JenKins] Jenkins sudo: not found Build step ‘Execute shell’ marked build as failure 권한 에러 해결하기

[JenKins] Jenkins sudo: not found Build step ‘Execute shell’ marked build as failure 권한 에러 해결하기

[JenKins] Jenkins sudo: not found Build step ‘Execute shell’ marked build as failure 권한 에러 해결하기 post thumbnail image

Jenkins로 docker 이미지를 빌드하고 hub에 푸시하는 과정을 .sh 파일 하나를 실행해서 한꺼번에 수행하려고 합니다. 하지만 Jenkins가 ec2 서버에서  sudo 명령어를 실행하려면, Jenkins에게 따로 권한을 줘야합니다. 권한을 주지 않고 빌드하면 sudo: not found Build step ‘Execute shell’ marked build as failure 같은 에러가 납니다.

그래서 root 계정으로 들어가서 /etc/sudoers 파일을 수정해줍시다.

su # 루트 계정으로 접속하기, password 를 모른다면 초기 설정해주시면 됩니다.
cd /etc # etc 폴더로 들어가서
vi sudoers # root 권한으로 sudoers 파일 열기

sudoers 파일로 들어가서, jenkins에게 권한을 줍니다. 만약 젠킨스에게 모든 권한을 주는 것이 보안 상의 이유로 걱정이 된다면, jenkins가 실행해야하는 파일 경로를 적어서 그 파일 실행에만 권한을 부여해주시면 됩니다.

jenkins ALL=(ALL) NOPASSWD: ALL jenkins ALL=(ALL) NOPASSWD: 파일 경로….

그러면 빌드 시 났던 에러가 사라지고 .sh 파일이 잘 실행됩니다!

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Related Post

[Mac]앱을 강제로 종료하는 방법[Mac]앱을 강제로 종료하는 방법

Mac에서 앱을 강제로 종료하는 방법 Mac에서 반응하지 않는 앱을 정상적으로 종료할 수 없는 경우 강제 종료를 사용하여 앱을 닫습니다. Mac에서 앱을 정상적으로 종료하려면(닫으려면) 메뉴 막대의 해당 앱 메뉴에서 ‘종료’를 선택하거나