공유할 서비스 선택

TECH


TECH

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

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 6,064회 좋아요 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 목록
번호 제목 작성자 작성일 조회수
84 Middleware 미들웨어 아이디로 검색 전체게시물 04-19 11996
(SSL-2) SSL 인증서 에러발생시 해결방법 (NSS error-8172, 12276 ??)

카테고리 : Middleware

11,996 0
작성자 : 미들웨어 21/04/19
83 OS LeeHyongDong 아이디로 검색 전체게시물 04-08 7153
[Linux] 재부팅없이 multipath 제거

카테고리 : OS

7,153 0
작성자 : LeeHyongDong 21/04/08
82 Middleware 미들웨어 아이디로 검색 전체게시물 04-08 8212
(SSL-1) 인증서 정상상태인지 확인하는 방법 (openssl s_client 사용)

카테고리 : Middleware

8,212 0
작성자 : 미들웨어 21/04/08
81 ETC Leesangwoo 아이디로 검색 전체게시물 04-07 2839
[ MariaDB ] MariaDB 설치 및 구성

카테고리 : ETC

2,839 0
작성자 : Leesangwoo 21/04/07
80 Middleware 미들웨어 아이디로 검색 전체게시물 03-27 2538
(Monitoring) Grafana를 활용한 batch cpu process minitoring 방법

카테고리 : Middleware

2,538 0
작성자 : 미들웨어 21/03/27
열람중 Middleware 미들웨어 아이디로 검색 전체게시물 03-17 6065
열람중
(오픈소스 활용-21) Jenkins 배포솔루션 설치와 Jenins 이중화 방안, Thinbackup 백업 방법

카테고리 : Middleware

6,065 0
작성자 : 미들웨어 21/03/17
78 OS LeeHyongDong 아이디로 검색 전체게시물 02-23 7086
[Linux] 8버전 HA-LVM 등록

카테고리 : OS

7,086 0
작성자 : LeeHyongDong 21/02/23
77 Middleware 미들웨어 아이디로 검색 전체게시물 02-22 2909
(Cache-2) CDN 개념과 활용방법 정리

카테고리 : Middleware

2,909 0
작성자 : 미들웨어 21/02/22
76 Middleware 미들웨어 아이디로 검색 전체게시물 02-07 4579
(Cache-1) Nginx reverse proxy 로 Cache 기능활용

카테고리 : Middleware

4,579 0
작성자 : 미들웨어 21/02/07
75 ETC Leesangwoo 아이디로 검색 전체게시물 01-28 3212
Docker container 설정

카테고리 : ETC

3,212 0
작성자 : Leesangwoo 21/01/28
Total 234건
게시물 검색

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