목록2024/08 (2)
Optimal Solution
빌드 자동화경우에 따라 다를 수 있지만, 나는 이런 상황을 경험한 적이 있다. 개발을 하면서 간단히 무언가를 검증하기 위해 프로덕션과는 무관한 로깅용 코드를 짜고는 한다.이러한 코드들은 늦어도 PR을 날리기 전에는 제거해주어야 한다.하지만 이런 코드들을 제거하지 않았다는 것을 PR을 날리기 직전에 깨달았다. 그래서 로깅용 코드만 제거한 후 PR을 날려 머지를 하고 잠시 휴식을 취하고 왔는데, 아뿔싸 문제가 발생한다."빌드가 안 되는데 ?" 문제가 됐던 로깅용 코드는 특정 상황에서 로그를 남기도록 if문 안에 들어있었다.if문을 지우면 해결될 것이라 아무 생각 없이 if문을 지웠는데, 그 아래 코드는 else문이었다.if문이 없는데 else가 나와버리니 컴파일 단계에서 에러가 발생한 것이다. 그 당시에는 ..
CI/CD란 ?CI/CD란 Continous Integration(CI)와 Continous Delivery/Deployment(CD)를 아우르는 용어이다.DevOps라는 분야의 핵심 업무로도 알려져 있다. CICI는 지속적 통합이라는 의미를 가지고 있다.모든 개발자의 작업물을 하루에 여러 번이고 공유 레파지토리에 병합(merge)하는 방식이며, 각 병합은 자동화된 빌드 및 테스트 프로세스를 트리거한다.CI의 주요 목표는 병합 시 버그를 조기에(사전에) 자주 감지하고 수정하여 안정적인 소프트웨어를 더 쉽게 생성할 수 있도록 하는 것이다. CI의 프로세스는 아래와 같다. - 개발자는 코드 변경 사항을 공유 레파지토리에 자주 commit, push한다. - 자동화된 빌드 프로세스는 코드를 검사하여 예상대..