혼자 쇼핑몰 개발해보면서 Devops를 적용해야하는지에 대한 고민이 생겼다.
특히 CI에 대해서 필요한가에 대해 궁금해져서 관련 글들을 찾아 보았다.
💡 먼저, Devops와 CI에 대해서 간단히 정리해보겠습니다.
Devops란?
Development Operations의 약어로, 소프트웨어 개발과 운영을 통합하여 효율성, 협력, 속도, 안정성을 개선하는 개발 및 운영 방법론입니다. Devops는 소프트웨어 개발부터 배포, 운영, 모니터링까지의 전체 생명주기를 관리하며, 개발과 운영 간의 협업을 강화하여 릴리즈 주기를 단축하고 문제를 신속히 해결할 수 있도록 돕습니다. 이를 통해 조직은 고객에게 더 빠르고 안정적인 제품 및 서비스를 제공할 수 있습니다.
이러한 Devops를 가능하기 위한 사례로 CI가 있습니다.
CI란?
CI(Continuous Integration, 지속적 통합)는 개발을 진행하면서도 품질을 관리할 수 있도록 하는 것으로 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리할 수 있음을 의미한다. 즉, CI를 적용하게 되면 어떤 부분에서 문제가 있는지 배포 전에 확인할 수 있고, 배포가 완성된 후에어 버그를 수정할 수 있던 기존의 문제를 빠르고 정확하게 해결할 수 있습니다.
💡 그러면 CI는 협업 프로젝트에서만 필요한 거 아닌가?
사실, 관련 글들을 많이 찾을 수는 없었습니다..(나만 궁금했나보다..😂 근데 사실 당연함. 아무래도 협업이 많을 테니..)
관련 글은 두 개 정도 찾을 수 있었습니다(아래 링크 참고, gpt 번역 도움)
필요하다.
- 빌드, 테스트 자동화를 통해서 최소한의 품질을 보장할 수 있다.
- 빌드 아티팩트 저장소에 저장한다면 이전 버전을 쉽게 배포할 수 있다.
- 모든 테스트를 정기적으로 실행하는 등의 작업을 간편하게 할 수 있다.
불필요하다.
- CI를 설정하는 시간이 CI를 도입해서 얻는 시간보다 더 오래 걸릴 수 있다.
- 통합을 한다는 면에서는 이점이 없다.
📝 결론 - 나의 의견
빌드나 테스트가 오래 걸리는 시스템이라면 혼자 개발하더라도 CI를 사용하면 좋아 보입니다.
또한, 나중에 혼자 -> 여러 명으로 팀의 규모를 늘리겠다, CI에 대해서 공부가 필요하다의 경우에도 도입해봐도 될 것 같습니다.
🤓 여러분들은 어떻게 생각하는지 댓글 남겨주세요 🤓
📚 참고
https://www.netapp.com/ko/devops-solutions/what-is-devops/
https://tecoble.techcourse.co.kr/post/2021-08-14-ci-cd/
https://hackernoon.com/devops-and-infrastructure-for-the-solo-dev-47c1f572aeda
https://stackoverflow.com/questions/130592/is-continuous-integration-important-for-a-solo-developer
'개발' 카테고리의 다른 글
프론트엔드 / 백엔드의 유효성 검증 (0) | 2024.07.03 |
---|---|
왜 자원 풀은 싱글톤 패턴을 사용하는가? (0) | 2024.06.29 |