ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jenkins: Jenkins Permission
    공부합시다!/Jenkins 2023. 1. 13. 00:15
    728x90

    Jenkins는 설정을 변경하지 않으면 Jenkins 라는 User를 생성해서 실행하게 됩니다.

    일반 사용자 권한으로 실행이 됩니다.

    따라서 workspace/프로젝트명 디렉토리를 벗어나서 작업을 할 수가 없습니다.

    이런 제약을 벗어나기 위해서는 sudo 명령어를 패스워드 없이 사용할 수 있게 구성, 사용하시면 됩니다.

    sudo 명령어는 아래 사이트 참고하세요!

    2023.01.12 - [공부합시다!/LInux] - RHCSA: sudo

     

    1. Project 생성

    2. 스크립트 작성

    3. Test

    4. sudo 설정

    5. Test 

    순서로 진행하겠습니다.

     

    1. Project 생성

     1.1. Jenkins 메인 화면 좌측 상단의 '새로운 Item'을 클릭해서 Project 생성

     

     1.2. Project명: mkdir

      1.2.1. Freestyle project 선택 후 저장

     

     1.3. '구성' 클릭

     

    2. 스크립트 작성

     2.1. Excute Shell 선택

      2.1.1. First Step 작성: mkdir t1

    현재 /var/lib/jenkins/workspace/mkdir 프로젝트 디렉토리내에 t1 디렉토리 생성

      2.1.2. Second Step 작성: mkdir /t2

    최상위 디렉토리에 /t2 디렉토리 생성

     

    3. Test

     3.1. 빌드 실패 후 원인을 찾기 위해서 'Console Output' 실행

     

     3.2. 실패 원인: 허가 거부

    대부분 권한 문제 입니다.

     

    4. sudo 설정

     4.1. sudo 설정

      4.1.1. jenkins user에게 패스워드 없이 sudo 명령어 사용 가능케 구성

      4.1.2. # vi /etc/sudoers.d/jenkins 파일생성 후 jenkins user의 지정호스트=사용명령어, 패스워드여부, 기타옵션 설정

     

     

     

    5. Test 

     5.1. mkdir 프로젝트에서 '구성'을 클릭

     5.2. 스크립트 수정

      5.2.1. First Step: 기존 생성 디렉토리 삭제 후 재 생성

      5.2.2. Second Step: sudo 명령어를 이용해서 디렉토리 생성 

     

     5.2. 다시 Build

      5.2.1. build 성공 후 Output Console 실행

     

     5.3. Build 성공 메세지 확인

     

     5.3. 디렉토리 확인

      5.3.1. 최상위 디렉토의 /t2 디렉토리 확인

      5.3.2. project 디렉토리의 t1 디렉토리 확인

     

    물론 jenkins 설정 파일에서 root로 실행할 수도 있겠습니다만 보안상!

     

    요렇게 해서 jenkins 권한을 확인해보고 수정해 보았습니다.

    다음 시간에는 다른 node에 파일을 전송하고 배포하는 실습을 해보겠습니다.

    728x90
Designed by Tistory.