ssung_데이터 엔지니어링/10주차_Docker

Docker_(2) with CI/CD

ssungcohol 2023. 12. 19. 16:55

Docker 컨테이너 내부와 호스트 통신

  • Docker 컨테이너가 내부 프로세스를 오픈하였다고 해서 외부 프로세스에서는 접근할 수 없음
  • 이때, 내부 프로세스 오픈 시 포트번호를 외부로 노출하여 포트맵핑(포트포워딩)을 해주면 가능
  • docker run 실행 시 -p 옵션 사용
     - docker run -p 4000:4000 이미지이름

소프트웨어 빌드

  • 자신 (or 팀)이 개발한 소프트웨어를 최종적으로 출시하기 위한 형태로 만드는 것
     - 테스트가 빌드의 중요 부분
  • 참여 개발자들이 많을수록 소프트웨어 빌드가 더욱 더 중요
  • 개발이 끝나기 전부터 빌드를 하면 소프트웨어의 안정성 증대 (Continuous Integration)

Continuous Integration (CI)

  • Software Engineering Practice 중의 하나
  • 기본 원칙
    • 코드 Repo는 하나만 유지 (Master or main)
    • 코드변경을 최대한 자주 반영
    • 테스트를 최대한 추가
       - Test Coverage
    • 빌드를 계속적으로 수행 (자동화)
    • 성공한 빌드의 프로덕션 릴리스 (자동화)
       - CD : Continuous Delivery

Github Actions

  • CI/CD를 Github 위에서 구현하기 위한 서비스
  • 코드 테스트, 빌드, 배포 자동화 기능 제공
  • Workflow라 부르며 다양한 컴포넌트로 구성
     - Workflow는 트리거 이벤트 발생 시 시작되는 일련의 동작을 지칭
     - Workflow를 위한 명령어들은 YAML 파일로 저장
     - Workflow는 Job들로 나눠지며 각 Job은 일련의 스템을 수행

 

728x90

'ssung_데이터 엔지니어링 > 10주차_Docker' 카테고리의 다른 글

Docker_(5)  (0) 2023.12.22
Docker_(4)  (1) 2023.12.21
Docker_(3)  (0) 2023.12.20
Docker_(1) feat. vi (or vim)  (0) 2023.12.18