Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
젠킨스를 이용한 패치 자동화
Search
JungWon2
June 03, 2013
0
1.4k
젠킨스를 이용한 패치 자동화
JungWon2
June 03, 2013
Tweet
Share
More Decks by JungWon2
See All by JungWon2
클린소프트웨어 8주차 사내 발표자료
jungwon2
0
980
클린소프트웨어 사내 스터디 1일차
jungwon2
0
990
AI 기반 게임 디자인
jungwon2
2
2.5k
50대 게임개발자의 게임개발
jungwon2
2
4.5k
preetyCode
jungwon2
1
1.1k
Pyhton 소개
jungwon2
1
930
NDC2013 유연한 해외 서비스 하기-해외 버전 관리 전략과 효율적인 커뮤니케이션
jungwon2
0
650
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Embracing the Ebb and Flow
colly
86
4.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
930
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
The Language of Interfaces
destraynor
158
25k
Site-Speed That Sticks
csswizardry
10
640
Designing Experiences People Love
moore
142
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
젠킨스를 이용한 패치 자동화 2013-05-30 마이에트 중원
현재 우리 패치 구조 배포 브랜치 머지 서버,클라 컴파일 패키징&
패치 생성 핵솔루션 적용 업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 약 ***ms
요기까지가 CC로 자동화 배포 브랜치 머지 서버,클라 컴파일 패키징& 패치
생성 핵솔루션 적용 업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 약 ***ms <- 이건 상수로 가정
사람의 개입이 필요한 부분 배포 브랜치 머지 서버,클라 컴파일 패키징&
패치 생성 핵솔루션 적용 업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 약 ***ms 사실 그 이상 걸림 시작 일하다가 일하다가 일하다가
배포 브랜치 머지 서버,클라 컴파일 패키징& 패치 생성 핵솔루션 적용
업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 No watch, No Stress 시작 젠킨스로 이렇게 만들자
배포 브랜치 머지 서버,클라 컴파일 패키징& 패치 생성 핵솔루션 적용
업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 이걸 CC로 만들 수 있을까? 시작
CuiseControl.net이란? • 오픈소스 통합 빌드 환경 서버 • 닷넷 기반,
IIS 연동 웹, 윈도우용 모니터툴 CCtray • 알다시피 우리가 익히 써왔음.
CuiseControl.net가 정말 좋아? 사람 잡는 job 설정 이런 파일이 몇
개더라=>
CuiseControl.net가 정말 좋아? 설정 감지는 좋은데, 모든 job이 멈춤 작업
많이 했는데, 실수라도 하면… => 툭하면 에러나는 CCtray
CuiseControl.net가 정말 좋아? 다루기 힘든 job 설정 미아가 된 배치파일
버전 정보를 가공해 ftp 전송하고 메일도 쓰고 싶다면..
CuiseControl.net로 패치 얼마까지 해봤니? 더 이상 안쓰고 젠킨스로 가기로 결정
CuiseControl.net가 정말 좋아?
젠킨스(Jenkins)란? • 오픈소스 통합 빌드 환경 서버 • 허드슨 +
웹서버 • 웹 기반, (CCtray 같은 것 X) • 웹 플러그인 기반 확장(UI에서..) • CC의 기능을 거의 몽땅 지원
사용자 중심 UI 무려 한글도 가끔.. VS
콘솔 출력 과정을 볼 수 있음. 예상시간도 표시해줌 물론, 전
빌드 시간으로 추정한 거지만, 되는 게 어디야
Job 설정에서 스크립트를 직접 코딩 할 수도 있다. 배치파일 or
파이썬 or 루비 etc 플러그인 지원 미아되는 배치파일 x Dos배치의 한계를 범용 스크립트로 극복
-설정을 바꿔도 CC처럼 다른 job이 멈추지 않는다. - 설정이 오류
나면 찾기가 쉽다. VS - Job 설정 복사도 쉽다.
배포 브랜치 머지 서버,클라 컴파일 패키징& 패치 생성 핵솔루션 적용
업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 No watch, No Stress??? 그래서 몽땅 젠킨스로 구축 기존 CC를 젠킨스로 이관 파이썬 & 배치파일로 젠킨스에 붙임
젠킨스로 삽질하면서 익힌 것들.. 서비스로 돌릴 수 있는데, Svn에 인증서가
들어가면 권한 문제가 골치아픔. 그냥 콘솔로 띄우자 java -jar jenkins.war
젠킨스로 삽질하면서 익힌 것들.. Depth가 2번 이상 깊어지면 job이 돌지
않는다. (Trigger/call builds on other project 플러그 인 사용시..) =>그냥 중간 job을 만들지 않고 해결 몽땅 빌드 빌드 묶음 서버 빌드 클라 빌드 X 몽땅 빌드 서버 빌드 클라 빌드 O
젠킨스 삽질하면서 익힌 것들.. 필요한 기능은 대부분 플러그 인에 있음
MS빌드, 빌드 타이머, 트리거 etc 다른 곳의 젠킨스 job는 url로 호출 할 수 있음 =>QA서버 리붓 때 편리 Job 컨피그 및 로그는 사용자 폴더에 있음 => 사용자\.jenkins\
배포 브랜치 머지 서버,클라 컴파일 패키징& 패치 생성 핵솔루션 적용
업로드 위치 생성 & 압축 etc FTP 업로드 ,SVN 커밋 etc 패치 메일 작성 그래서 완전 자동화가 됬음. 끝? 시작
자동화 패치 중 발생한 일들.. - 자동으로 QA서버를 리셋하는데, 누가
서버 설정을 바꿔놨더라. job 실패 - 현지에서 ftp 경로를 몽땅 바꿔버려 job 실패 - Job을 여러 번 취소했더니, 메일소켓이 잠겨버려 job 실패 - 실수로 버튼이 2번 눌려서 패치 2번 나감 예외발생
자동화로 패치 전달 어쩌다 예외발생 내일 오전까지 전달되게 걸어 놓자.
18:00 작업 완료 10:00 출근 앗, 죄송 2시간만.. 패치가 안왔어요 고쳐서 다시 패치전달 자동화 패치 예외에서 좋은 시나리오 라이브 수일 검증 후 새벽 언제쯤..
그런데 보통.. 22:00 작업완료 내일 아침 바로 패치! 절대 틀려선
안돼!! 어쩌다 예외발생 자동화로 패치 전달 01:00 전달 안됬습니다. 패치 다시 전달 라이브 10:00 새벽 언제쯤..
- 현재는 담당자가 예외를 즉각 처리해야만 한다. =>결국 자동화를 걸고,
퇴근하기엔 무리 - 현재 CC를 서버 별 정리하긴 해야 함. =>유닛테스트, 벨리데이터, 패치서버와는 분리가 필요 그래도 이걸 개선할 방법이 있을까? 그래도 손은 좀 덜 가게 됬음 기왕 하는 김에..