20240130 (화) 개인 주특기 플러스 주차

2024. 1. 30. 20:11TIL

이번 주차는 개인의 코드 능력을 향상시키기 위한 주차이다.

이전까지 했던 내용을 복습하거나 Docker에 대해서 배우는 걸 선택한다.

나는 개인적으로 좀더 욕심이 나서 Docker를 배우는쪽으로 했다.

 

아직 초기단계고 심지어 오늘은 Docker를 까는데 오류도 많이나고 시간도 많이 걸려서 배운것도 적지만 일단 기록해둔다.

 

우선 Docker라는건 프로그램의 이름인데 CI/CD의 표준격인 위치인것 같다.

그럼 여기서 CI/CD는 무엇이냐!

 

CI (Continuous Integration)

직역하자면 지속적인 통합 이라는 의미

하나의 프로젝트에 여러명의 개발자가 몰려들었을 때 작은단위로 merge 후 빌드, 테스트 하는것이 가장 이상적인 개발 과정이지만 그렇지 못하고 2일~3일 정도를 개발하다가 합치는 경우도 있을것이다.

하지만 이런경우 상당한 오류, 버그 등으로 고치는데에만해도 시간이 많이 걸릴수 있다.

이런경우에서 merge를 자동화 시켜주는게 CI이다. 개발자는 개발에만 몰두를 하고 통합 > 빌드,테스트를 자동화 시키는 것이다. 그에따라 버그가 생기면 모든 버그를 확인해서 해결할수도 있다.

 

CD (Continuous Delivery)

이 CD는 지속적인 제공 말고도 Continuous Deployment 지속적인 배포 라는 뜻도 가지고있다.

위으 CI를 통해서 코드를 검증하고나면 CD에서 배포환경과 비슷한 곳에서 배포 검증을 진행한다. 이후에 검증이 완료되면 소프트웨어를 실제 프로덕션 환경으로 배포를 해준다.

 

전체적인 진행과정을 나열하자면 개발 > CI > (버그가 있다면 버그해결) > CD > 배포 이런식이다.

 

이 CI/CD는 어느정도의 자동화를 하냐에 따라 회사마다 팀마다 어느정도의 차이는 있다고한다.

 

오늘의 한마디 : 오늘은 코드를 제대로 작성도하지 못했는데 Docker 설치오류, 용량확보등의 문제로 상당히 머리가 아팠다.