無知

갈 길이 먼 공부 일기

빌드 3

DevOps (1) | CI와 Github Action

지속적 통합(CI)이란? CI로 더 많이 알려진 지속적 통합은 동일한 소프트웨어 프로젝트에서 작업하는 모든 사람이 코드 베이스에 대한 변경 사항을 정기적으로 공유한 다음, 각 변경 후에 코드가 원래 의도한 대로 작동하는지 확인하는 방식입니다. 지속적 통합은 공동 작업, 자동화 및 짧은 피드백 주기를 촉진하는 데 목적을 둔, 소프트웨어 구축 및 릴리스에 대한 DevOps 접근 방식의 핵심을 이룹니다. 지속적 통합은 변경 사항을 소스/버전 관리 시스템에 정기적으로 커밋하는 작업부터 시작하므로 모두가 같은 기반에서 빌드하게 됩니다. 커밋할 때마다 빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장합니다. 지속적 통합은 그 자체로 유익하지만 CI/CD 파이프라인..

쿠버네티스 (1-4-2) | 개발자가 바라보는 도커의 필요성

도커라는 게, 기존의 퍼블릭 클라우드 이미지 기반 인스턴스 관리 기법의 연장선이기도 하다. 가장 중요한 것은 왜 쓰기 시작했는가! 의 문제라 볼 수 있다. 시니어 개발자님이 공유해주신, 도커의 사용 이유에 대해 정리해보았다. 도커는 왜 쓰기 시작했을까? 도커는 커스텀 환경을 빠르게 구축할 수 있다 - 도커 이미지 일단, 이미지의 경우, 결국은 개발 환경과 연관된다. 개발자 입장에서, 서버를 만들어서, 서버에서 개발하기도 한다. 예를 들어 자바 환경이라 하면, 서버나 클라이언트 환경을 꾸미고 나서, 환경 변수 설정 후 개발한다. 그런데 도커를 쓰고 나서는, 환경을 내부적으로 구성해서 독립적으로 환경을 빠르게 만들 수 있다. 우분투의 JVM 1.8을 빠르게 빌드해서 개발하고 싶을 때, 예전에는 서버를 띄우고..

쿠버네티스 (1-3) | 도커 이미지 멀티 스테이지 빌드 및 경량화

멀티 스테이지 빌드를 통한 도커 이미지 경량화 멀티 스테이지 빌드란? 대부분의 사람들은 한 프로젝트의 하나의 Dockerfile만 존재하는 것이 익숙했습니다. 여러 개의 Dockerfile은 유지보수의 편의성도 떨어뜨리고, 각각의 단계에 순서 의존성이 있는 만큼 관리도 복잡해졌죠. 예를 들어 바이너리 빌드가 끝나기 전에 실행 이미지를 만들 수는 없으니까요. 이후 많은 사람들이 불편함을 느끼자, 여러 단계의 이미지 빌드 과정을 하나의 Docerfile에서 관리하기 위해 멀티 스테이지 빌드가 등장했습니다. https://lynlab.co.kr/blog/89 Docker Multi Stage란? 컨테이너 이미지를 만들면서 빌드 등에는 필요하지만 최종 컨테이너 이미지에는 필요 없는 환경을 제거할 수 있도록 단계..