공유할 서비스 선택

TECH


TECH

Middleware (오픈소스 활용-21) Jenkins 배포솔루션 설치와 Jenins 이중화 방안, Thinbackup 백업 방법

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 4,586회 좋아요 0회 작성일 21-03-17 10:24

본문

안녕하세요.  미들웨어 입니다.

 

이번 장에서는 개발 소스 배포시 자주 사용되는 Jenkins 에 대해 설명해드리고, 이중화 구성방법에 대해 가이드 해보겠습니다.

Jenkins 가 무엇인지 부터 간략히 설명해드리겠습니다.

 

전통적인 방식으로 소스 배포는 SVN을 많이 사용했었는데, 몇해전부터 SVN의 문제점이 많아 여러명이 소스를 배포하고 빌드하고 deploy, was instance restart 까지 한번에 수행되는

Jenkins 방식으로 많이 전환했습니다.

 

1. jenkins 홈페이지 & 다운로드

- 홈페이지 : https://www.jenkins.io/

- 다운로드 : https://www.jenkins.io/download/

- 설치방법 : https://myjamong.tistory.com/11 

  Jenkins 설치 방법은 여러 가이드가 많이 나와있습니다. 

  간략하게 참고할만한 사이트를 링크해드릴께요. (간단한거라서 별도로 스크린샷은 올리지 않겠습니다.)

 

fd5822e725a05637d34aef30ef39d597_1615943180_5311.png
fd5822e725a05637d34aef30ef39d597_1615943180_5856.png
설치 방법은 사용하는 OS에 따라 다른데, 어렵지 않습니다.

 

 

2. Jenins 이중화, 백업 방법 

Jenkins 이중화를 해보기 위해 여러가지 준비를 했고 시도를 해본 결과를 정리보겠습니다.

Jenkins 이중화를 하기 위해선 현재로서 가장 간단하고 확실한 방법은... 공통 파일시스템을 사용하면 됩니다.

NAS를 써서 A서버의 Jenkins 랑 B 서버의 Jenkins 에서 같은 파일서버에 .jenkins/job 를 저장하면 됩니다.

 

헌데, NAS를 사용하지 않고 이중화를 할 수 있는 방법은 없을까..??

결론부터 말씀드리면 Jenkins 이중화는 NAS를 구매해서 사용하시는 방법과 미국의 cloudbee 회사에 jenkins enterprise 문의해서 솔루션으로 대처할 수 있는 방법이 있습니다.

 

이중화를 안하면 제일 간단한 방법으로는 백업을 받아도 됩니다.


- Jenkins 백업 방법

1. Jenkins plugin Thinbackup 방식 

2. rsync 방식
    A서버에서 rsync 방식으로 B서버로 파일 전송 (스케쥴링.. 모.. crontab 사용해도 된다)



- Jenkins 백업 (Thinbackup) 사용

Jenkins 에 시스템관리 들어간뒤 plugin 설치를 통해 Thinbackup을 설치 후 사용하면 됩니다.

방법은 간단하나 단.. 이중화는 안됩니다.

방식은.. A 서버의 jenkins 에서 thinbackup 실행해서 B서버 jenkins 실행 후 Thinbackup restore 해주면 됩니다.

 

- thinbackup 플러그인 설치 

해당 내용을 좀 더 상세히 설명한 wiki  page 입니다.  

  https://github.com/jenkinsci/thin-backup-plugin

 

- Jenkins 설치 후 관리로 들어가면 확인할 수 있습니다. (admin으로 로그인되야 합니다.)

fd5822e725a05637d34aef30ef39d597_1615944464_2944.png
 

 

- 정상적으로 플러그인이 설치되었다면 아래그림처럼 Thinbackup 을 확인할 수 있습니다.

fd5822e725a05637d34aef30ef39d597_1615944509_3935.png
 

 

3. Thinbackup 테스트 결과

Jenkins Thinbackup plugin을 설치한 뒤 직접 테스트를 해봤습니다.

 

1번 항목에 있는 plugin 설치를 했고 A 서버 jenkins 를 깔금히 재시작 한뒤 Thinbackup Now를 눌렀다!!

눌렀는데.. 진행이 되는건지, 안되는건지 Jenkins UI에서는 아무런 확인을 할 수 없었습니다.

system log를 보니 딱 한줄.. "Starting manual backup" 만 적혀있네요

음.. 언제 끝나는거지.. 물론 현재 쓰고있는 jenkins jobs 이 많아 기다려보면 완료됐다는 log 는 안나오고 

서버에 저장해둔 backup log 경로 보니 jobs 폴더내 완료된 시간이 나옵니다.

 

 "테스트결과"

- Jenkins 서버 ThinBackup plugin 테스트

- system log
  시작 : Starting manual backup.

  종료 :  

 

  시작 : 12:28

  종료 : 12:54 (26분 소요)

  백업 파일 사이즈 : 6.6GB

 

 

4. Thinbackup 옵션값 설정 

Backup Directory : ex) /home/backup

Backup schedule for full backups : * * * * * command to execute[*minute(0-59),*hour(0-23),*day(1-31),*month(1-12),*day of week(0-6 sunday to saturday)

Backup schedule for differential backups : 증분백업은 풀 백업 이후 수정된 전체 파일만 백업 합니다.

Max number of backup sets : 백업 세트의 최대 수

Files excluded from backup : 백업에서 제외 된 파일

Wait until Jenkins/Hudson is idle to perform a backup : 백업을 수행하기 위해 Jenkins / Hudson이 idle 상태가 될 때까지 기다립니다.

> Force Jenkins to quiet mode after specified minutes : 지정한 시간이 지난 후 Jenkins는 자동모드로 된다

 

Backup build results : 빌드 결과 백업 (체크) 

Backup build archive : 아카이브 빌드 백업  (체크)

Backup only builds marked to keep : 백업만 유지되도록 표시된 빌드

Backup 'userContent' folder : userContent 폴더 백업  (체크)

Backup next build number file : 다음 빌드 번호 파일 백업

Backup plugins archives : 아카이브 플러그인 백업  (체크)

Backup additional files : 추가 파일 백업

> Files included in backup (regular expression) : 백업에 포함 된 파일

Clean up differential backups : 증분 백업 정리

Move old backups to ZIP files : 이전 백업 파일을 ZIP 파일로 이동  (체크)


 

NAS로 이중화 하는것이 가장 좋은 대안이나, NAS 가 없을경우 Jenkins 에서 자체 제공하는 Thinbackup 플러그인을 활용해서 백업을 해두는 것도 좋은 방법입니다.

이로서 백업해보는 것과 실제 소요되는 시간에 대해 설명해드렸습니다.

 

 

 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
198 OS OSworker 아이디로 검색 전체게시물 03-24 52
RHEL7 to RHEL8 leapp으로 마이그레이션 하는 방법에 대해~

카테고리 : OS

52 0
작성자 : OSworker 24/03/24
197 Middleware 미들웨어 아이디로 검색 전체게시물 03-21 39
(오픈소스 활용-27) Redis Cache 란? 활용방법과 다운로드

카테고리 : Middleware

39 0
작성자 : 미들웨어 24/03/21
196 OS OSworker 아이디로 검색 전체게시물 03-17 66
Convert2RHEL를 사용하여 CentOS 7.9 에서 RHEL7.9로 전환해보겠습니다.

카테고리 : OS

66 0
작성자 : OSworker 24/03/17
195 Middleware 미들웨어 아이디로 검색 전체게시물 03-07 82
(weblogic 활용) WebLogic Kubernetes Toolkit-UI (무료) 설치 및 구성가이드

카테고리 : Middleware

82 0
작성자 : 미들웨어 24/03/07
194 OS OSworker 아이디로 검색 전체게시물 02-28 153
RHEL8부터는 네트워크 본딩을 구성하려면 nmcli 유틸리티를 사용해야 합니다. 레드햇 권고입니다.

카테고리 : OS

153 0
작성자 : OSworker 24/02/28
193 Middleware 미들웨어 아이디로 검색 전체게시물 02-20 197
(AI-2) Chat-GPT 4All - 허깅페이스 & LLM 국내 인기순위 (Open Ko-LLM LeaderBoard)

카테고리 : Middleware

197 0
작성자 : 미들웨어 24/02/20
192 OS OSworker 아이디로 검색 전체게시물 02-19 258
[질문] free 메모리에서 Used가 너무 높게 나오는데, ps 명령어에는 사용율이 없습니다.

카테고리 : OS

258 0
작성자 : OSworker 24/02/19
191 Middleware 미들웨어 아이디로 검색 전체게시물 02-06 259
(AI-1) Chat-GPT 4All - PC 설치 방법

카테고리 : Middleware

259 0
작성자 : 미들웨어 24/02/06
190 OS OSworker 아이디로 검색 전체게시물 02-05 329
1월31일에 발표된 보안취약점 CVE-2024-21626에 대해 알아보겠습니다.

카테고리 : OS

329 0
작성자 : OSworker 24/02/05
189 OS OSworker 아이디로 검색 전체게시물 01-31 309
OS 백업 아직도 3rd part 사용하시나요? 이제는 OS 에 포함된 ReaR 사용해보세요~!

카테고리 : OS

309 0
작성자 : OSworker 24/01/31
Total 198건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top