최준서 실습코치님 인프라 특강
-
게릿
-
도커
- 기존의 가상화
- 논리적 분할된 공간에서의 작업
- 새로운 os를 올리고 위에 어플리케이션 동작
- 도커의 가상화
- 도커 호스트의 커널을 공유하는 형태
- 별도의 os가 올라가는 형태가 아님
- 도커엔진 위에 컨테이너를 올려둠
- 도커를 사용하는 이유
- 현재 환경을 이미지로 만들고 컨테이너로 구동함
- 현재 포함되어 있는 라이브러리, 환경 설정, 버전 설정 등 현재 상태 그대로 이미지로 만들어서 언제 어디서든 같은 환경에서의 개발이 가능
- 독립된 환경 제공
- 도커 설치
- 도커 허브에서 이미지 검색 EX) 젠킨스
- 도커 이미지
- 도커 컴포즈
- yml 파일 형식으로 작성, 네트워크, 볼륨, 상태관리 등 여러가지 설정
- 유저네임, 패스워드 넣지말고
- .env 파일에 넣어두고 불러오는 형식으로 하면 보안적으로 더 안전할듯
- 젠킨스
- CI를 위한 tool
- 코드를 pull 받아서 빌드하는 과정 자동화 가능
- 빌드 과정에서 test, 코드 분석 등등 모든 과정을 자동화 할 수 있음
- 소나큐브, 테스트 툴 등..의 플로그인 제공
- 젠킨스 플러그인 설치 오류시 미러 서버 변경하기
- Webhook을 설정하면 좋은가?
- 현업에서는 주기적으로 스케줄러를 통해 배포하는 경우도 존재
- 이를 쓰면 좋은가?
- 깃플로우 전략
- 파이프라인 역할
- webhook을 받으면 정해진 스크립트에 따라 동작함
- 다양한 방식이 있지만 PIPELINE을 기준으로 설명
- 파이프라인이 확장성이 좋음
- 변경 사항을 자동으로 감지하고 빌드,테스트, 정적 분석 등의 작업을 실행
- 소나큐브
- 코드 품질을 분석하고 관리하는데 사용하는 오픈소스 플랫폼
- 젠킨스 설정을 통해 소나큐브 연결
- 잡지 못했던 내용을 잡을 수 있음
- 엔진엑스
- 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공
- 가볍지만 다양한 기능과 강력한 성능을 가져 많이 사용
- 리버스 프록시
- 로드 벨런싱
- SSL/TLS
인프라 3대장
- 포테이너
- 도커에 대한 문법 완성되고 하기
- UI 환경에서 Docker 관리
- 볼륨, 네트워크, 컨테이너, 이미지, shell 접속 등 Docker에 관한 대부분의 설정을 UI 환경에서 컨트롤 할 수 있음
- 실행중인 컨테이너 확인
- 종료, 재실행, 삭제, 로그, 콘솔 등 다양한 기능 제공
- 도커 네트워크
- 격리된 환경인데 스프링부트, DB와 통신을 하고싶으면 하나의 네트워크로 묶어줄 수 있음
- UI로 쉽게 설정할 수 있음
- 덕DNS
- 개인 프로젝트에서 사용하면 좋을듯
- 도메인이 없는 상황에서 무료 도메인 생성 가능
- 5개 도메인 사용 가능
- 인증서 하나를 발급받고 와일드 카드로 한번의 인증으로 사용 가능
- 엔진엑스 프록시 메니저
- 엔진엑스 설정을 UI에서 간편하게 설정 가능
- HOST 간 리버스 프록시 설정 가능
- ssl 인증서 발급
- 와일드 카드로 한 개의 SSL 생성
-
프록시 호스트
-
젠킨스
-
소나큐브
-
엔진엑스