목록CD (3)
Optimal Solution

빌드 자동화 관련 환경 설명나는 빌드 자동화를 구축해보기 위해 아래와 같은 환경으로 작업했다.- 언어 : Java- 버전 관리 : Github- 빌드 도구 : Gradle- 운영체제 : Windows Github에서 빌드 자동화를 구축하는 방법 - Github ActionGithub에서 CI/CD를 구축하려면 Github Action을 사용한다.Github Action은 Github에서 제공하는 CI/CD 툴이다.완전 순수 100% 내가 다 CI/CD 환경을 구축해보면 좋은 경험이겠으나, 이를 위해선 CI/CD를 위한 서버를 구성해야 한다는 어려움이 있다.Github Action은 CI/CD를 위해 필요한 서버를 제공해주기 때문에 부담이 적고 간편하게 설정할 수 있다는 장점이 있다. Github Acti..
빌드 자동화경우에 따라 다를 수 있지만, 나는 이런 상황을 경험한 적이 있다. 개발을 하면서 간단히 무언가를 검증하기 위해 프로덕션과는 무관한 로깅용 코드를 짜고는 한다.이러한 코드들은 늦어도 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한다. - 자동화된 빌드 프로세스는 코드를 검사하여 예상대..