DevOps

02. Jenkins를 활용해 CI/CD 환경 구축하기 : jenkins 관리

devkmee 2024. 8. 1. 21:41

 

 

 

 

1. Jenkins 초기 비밀번호

 

 

여기까지 마치면 드디어! Jenkins 웹 화면에 접속할 수 있다.

브라우저에 접속했을 때 나오는 명령어를 Jenkins 서버에서 실행하면 초기 비밀번호가 출력된다.

cat /var/lib/jenkins/secrets/initialAdminPassword

 

 

 2. 플러그인 설치 및 Dashboard 생성

 

왼쪽은 추천 플러그인들이 설치되고, 오른쪽은 선택할 수 있다.

개인 서버에서 연습할 때는 추천 플러그인으로 해보고, 회사에서는 필요한 것만 선택했다.

대시보드 생성 후 아래 메뉴에서 추가 및 업데이트도 가능하니 고민할 필요 없다.

  • 메뉴 > Jenkins 관리 > Plugins

추가로 설치한 플러그인 목록 

  • Git Plugin / Subversion 
  • Maven Integration
  • Deploy to container : jenkins 와 tomcat이 같은 서버일 때 deploy용
  • Publish over SSH : tomcat 서버가 다를 때 deploy용

이후 Admin 계정을 생성하고 안내를 따라가다보면 초기설정을 마무리 할 수 있다.

브라우저 설정이 반영되도록 Jenkins를 재시작하면 브라우저에서 Admin 계정으로 로그인 할 수 있다!

 

4. 전역 환경변수 설정

1) Publish over SSH

  • name : SSH Server 구분용 name
  • hostname :  tomcat 서버 IP
  • username : tomcat 서버 username
  • Remote Directory :  tomcat 서버에서 packaging된 war를 받을 디렉터리
  • 고급 > Use password authentication, or use a different key 체크 : 비밀번호 인증
  • 고급 > port :  tomcat 서버 port
  • 고급 > proxy password : tomcat 서버 비밀번호
  • 추가로 tomcat 서버이 tomcat-users.xml 파일의 아래 코드도 수정해야한다.
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="your-username" password="your-password" roles="manager-gui,manager-script"/>

 

 

5. Item 관리

1) Item 생성

  • 메뉴 > 새로운 Item > maven project 생성

2) Build 및 Deployment 설정

  • 소스코드 관리 : 소스 형상관리 툴 정보 입력
  • 빌드유발 > Poll SCM > Schedule
    •  * * * * * : 1분마다 소스 변경사항 체크
  • 빌드환경 > With Ant > JDK > Default (프로젝트용 jdk)
  • Pre Steps > Execute shell
    • jenkins 와 tomcat이 같은 서버일 때 build 전 war 백업 생성 스크립트
  • Build
    • Root POM : pom.xml
    • Goals and options : clean install -P ${빌드 프로파일}
  • Post Steps : maven 버전 설정
  • 빌드 후 조치
  • 1) jenkins 와 tomcat이 같은 서버일 때
    • Source files: /.war
    • Excute shell > jenkins 워크스페이스에서 tomcat으로 이동하는 스크립트
  • 2) jenkins 와 tomcat이 다른 서버일 때 ( Send build artifacts over SSH )
    • SSH Server name : 환경변수에서 설정한 항목 선택
    • Source files : /.war
    • Remove prefix : target ( ssh 전송 시 붙어서 설정)
    • Remote directory : 환경변수에서 설정한 Remote directory 하위 폴더
    • Exec command : 백업 생성 및 tomcat 서버 재구동 스크립트

 

6.  UI 설명 및 사용방법

1) Dashboard

  • S : 최근 빌드 상태 (성공여부)
  • W : 아이템별 빌드 상태들. 실패를 많이하면 날씨가 점점 흐려지다가...비오고 번개도 친다
  • name : 아이템 생성 시 부여한 이름
  • 우측 초록색 아이콘 : 즉시 Build

2) Dashboard > name

  • Builds > build > Console Output : 해당 build console 로그 조회

 

 

💡시리즈

 

🙏레퍼런스