Polymor!

내가 너무 일하기가 싫어서 ... 젠킨스 (1) 본문

Infrastructure

내가 너무 일하기가 싫어서 ... 젠킨스 (1)

Megan Kim 2022. 3. 9. 13:30

마지막으로 글을 쓴지 1년이 되었다. 

지난 해 3월을 끝으로 다시 글을 쓰게 된건 조금 부끄러운 일이다.

그동안 글을 못쓴 이유와 다시 쓰는 이유는,

 

1. 회사에 취업했다. 

 

2. 회사의 인터넷망은 웃기게도 티스토리 24시간 차단이다.

 

3. 이 회사는 놀랍도록 레거시하게 서비스를 운영한다. 

 

4. 그래서 불만이 많은 사람들은 아름다운 CI/CD를 구축하고자한다.

 

5. 그 대표적인 젠킨스를 어느정도 공부했고, 현재 이 툴을 사용하고 있고 이제 이걸 정리할 시간이 된 것같다. 

 

 

 

 

으악!

 

이 자만한 표정의 아저씨가 젠킨스다. 그리고 저 고래는 Docker.. 

솔직히 말해서 젠킨스 별거 없다 생각했다. 한 2주면 다 하지않겠어? 라고 생각했지만 그건 내가 자만했던것..

 

 

어떠한 테크를 현업에 도입할 때엔 아래와 같은 순서가 필요하다.

 

1. 현 업무 중 사람이 하지 않아도 되는일과 사람이 꼭 해야하는 일 구분 하기.

 

2. 사람이 하지 않아도 되는 일을 대신 하게될 적당한 툴 찾기/만들기 (여기서 나는 젠킨스를 채택)

 

3. 구체적으로 업무 흐름도에 맞게 설계하기

 

- git commit 되면 개발팀이 운영팀에게 구두로 전달 ====> git polling 커밋 시점 인지 [젠킨스가 해줌]

- git 에서 local pc 로 다운로드 받기  ====>  git clone해서  jenkins서버로 가져옴 [젠킨스가해줌]

- stage 서버에 반영사항 배포 하고 테스트 ====> 개발자가 작성한 shell 실행하여 배포 자동화 [젠킨스가 해줌]

- 이전 버전의 백업 파일 local pc에 보관(규칙따윈없음) ====> 날짜에 맞게 파일 백업 및 관리해줌 [젠킨스가 해줌]

- 실서버에 반영사항을 서버에 배포하기 ====> 개발자가 작성한 shell 실행하여 배포 자동화 [젠킨스가 해줌, 실수없이!]

- 배포 후 테스트 진행 ====> test 시나리오 job 으로 테스트 진행 및 결과 로깅 [젠킨스가 해줌]

- rollback 을 해야할 때 직접 백업 파일 옮겨다 재배포 ====> rollback 시나리오 job으로 자동 재 배포 [젠킨스가 해줌]

 

 

4. 젠킨스를 설치한다. 

 

5. 필요한 플러그인을 다운로드 받는다.

 

6. 젠킨스 서버와 당사 서버들 간 방화벽 설정을 한다. (인프라팀 요청)

 

7. 스테이지 서버를 타켓 서버로 설정하고 3의 과정의 flow를 구현해낸다.

 

8. 테스트를 거듭하고 실제 사용을 하며 안정화 및 고도화 작업 한다.

 

9. 팀장님께 결과를 보여드린다. 

 

10. 실서버에 젠킨스를 도입하여 프로세스를 전환한다.

 

11. 모니터링 툴, 로그 툴, 그리고 도커까지 계속하여 고도화 작업을 진행한다. 

 

 

끝 ! 그럼 이제 젠킨스 빌드 버튼을 누르면 알아서 내가 1시간 넘게 해야 했던 일들을 2~3초만에 해준다. 

rollback이 더이상 두렵지도않다. 사람보다 소프트웨어가 정확하고 신속하니까.

다시한번 말하지만 정말 일이 하기가 싫어서 젠킨스를 구축한거다.

 

 

'Infrastructure' 카테고리의 다른 글

[네트워크] 스위치와 라우터  (0) 2020.12.08
Comments