본문 바로가기

지속적통합

[CI]지속적통합 지속적 통합이란? 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식이다. 이 과정에서 CI 도구를 통한 자동화 구성요소와 개발자들이 빈번하게 병합하도록 학습하는 것과 같은 문화적 구성요소 모두를 포함하는 개념이다. 지속적 통합 과정에서 반드시 자동화가 이뤄져야 하는 부분은? Best Practices를 참고하여 어떤 부분에서 자동화를 하는지 알아보고, 반드시 필요한 부분을 생각해보자. 1. Test-Driven Development 실제 코드를 짜기 전에, 테스트 파일을 만드는 것에 집중하는 개발 방식을 말한다. 테스트 자동화를 수행하려면, 테스트 파일을 잘 작성하는 것이 중요하다. 테스트 파일은 코드가 원하는 기능을 할.. 더보기
[CI/CD]CI도구 세가지를 살펴보자! CI/CD 파이프라인과 CI 도구 CI/CD는 지속적 통합과 지속적 배포의 과정을 하나의 파이프라인으로 연결한 것을 말한다. CI 과정은 다음과 같다. 코드 저장소는 통상 Github를 사용하고, 빌드와 테스트 과정은 이때까지 내가 수동으로 수행해보았다. 그러나 DevOps가 하는 일은 이 CI 과정을 자동화하는 일이다. 빌드와 테스트를 위한 서버를 통해 결과를 확인하고 신속하게 코드를 수정하여 다음 단계인 릴리즈로 넘어가게끔 해야한다. 이 때 사용되는 것을 CI 도구라 한다. 종류가 엄청 많지만, 가장 대표적인 3가지를 비교해 보고자 한다. Jenkins Travis CI GitHub Action 실행 별도의 서버를 설치하여 사용. 호스팅되는 프로젝트를 빌드하고 테스트함. GitHub 저장소를 기반 언.. 더보기