일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 던전앤파이터
- MLAgent
- 반도체
- 아두이노
- 보안
- 네트워크
- 반도체 취업
- 유니티
- 아두이노함수
- 암호화
- 인터럽트
- 에러
- Unity
- 게임기획
- 컴퓨터구조
- 메모리
- 아두이노우노
- 머신러닝
- 면접
- 유니티에러
- 반도체 엔지니어
- neople
- 메타마스크
- memory
- MuchineRunning
- 네트워크보안
- 네오플
- 던파
- 이더리움
- 레지스터
- Today
- Total
Dreaming Deve1oper
[DevOps] CI/CD 본문
개발자가 개발, 빌드, 테스트까지 진행하게 된다면 매우 비효율적일 것이며 프로젝트의 완성도도 떨어질 것이다.
회사마다 DevOps, 빌드엔지니어 등 각자 정의하는 바가 매우 포괄적이나, 큰 틀로 보면 빌드 및 배포에 관여하여 유관부서와 협업해 프로젝트의 완성도를 올리는데 기여하는 직군이 DevOps인 것으로 이해하였다.
QA 직군으로 근무하면서, 리소스가 많이 소모되는 경우 (소위 말하는 노가다성 영역) 자동화 스크립트를 작성하여 해결하였다. 빌드/배포 또한 마찬가지로 빌드를 자동화 시켜줌으로써 사람이 만들어낼 수 있는 실수도 줄이는 것은 물론 보다 효율적인 업무 환경을 만들어 나갈 수 있는 것으로 보인다.
CI / CD란?
- 서비스의 개발 to 배포까지 모든 과정을 자동화하여 보다 효율적으로 배포하기 위한 개발 프로세스의 일종.
CI (Continous Integration)
- 배포 이전 단계를 거쳐 코드를 통합하는 과정을 의미.
- 프로젝트에 변경점이 있을 경우 자동 빌드하여 공유 레파지토리에 통합시키는 것.
- 주기적으로 빌드를 진행하여 변경 이후에도 성공적으로 빌드되는지 확인되어야 함. (기존 시스템 이상 유/무도 테스트)
- 여러명의 개발자가 동시에 개발을 진행하다가 코드를 통합할 때 충돌을 방지할 수 있음.
CD (Continuous Delivery / Deployment)
- 결과물을 빌드해 서비스를 배포하는 과정을 의미.
- 변경된 내용이 파이프 라인의 이전 단계를 모두 통과하면, 자동으로 배포 시킴.
- 간단한 변경된 내용이 정기적으로 커밋되고 자동화된 빌드, 테스트를 거쳐 문제가 발견되지 않을 경우 최종 배포 시킴.
Delivery
- 배포 준비 단계 to 최종 배포 단계의 중간에서 QA 팀 검증 이후에 최종 빌드를 수동으로 빌드를 진행하는 것.
Deployment
- Delivery와 반대로 최종 배포 단계 과정을 수동이 아닌 자동화로 구현하여 빌드하는 것.
'DevOps' 카테고리의 다른 글
[DevOps] 2 (0) | 2023.03.30 |
---|