코로 넘어져도 헤딩만 하면 그만
CI/CD 및 github action의 workflow 본문
- CI, CD
- Github Action을 통한 workflow 구현
- YAML
🚩개발 프로세스 및 CI/CD
개발 프로세스란, 개발에 대한 전체적인 가이드라인과 같습니다. 일종의 '절차'를 말하는데요. 개발 및 유지 보수의 과정에서 어떤 식으로 업무가 분담 진행되고 있는지 알기 위해서는 개발 프로세스의 발전을 알아보아야 합니다.
우선 소프트웨어 개발 생명주기(SDLC, Software Develpment Life Cycle)를 한번 볼까요?
대략적으로 SDLS는 다음과 같은 절차를 따릅니다.
요구분석+시스템 명세 작성(문제분석 단계)→설계→구현→테스트→배포→유지보수→요구분석
요구분석+시스템 명세 작성 단계 : 개발할 소프트웨어의 기능과 조건, 목표 등을 사용자와 함께 정의합니다. 개발하고자 하는 기능을 정확하게 이해한 뒤 요구 명세를 작성하는 것이 필요합니다.
설계 단계 : 앞 단계에서 정의한 기능들을 실제로 수행하기 위한 방법을 논리적으로 결정합니다. 크게 시스템, 프로그램, UI설계로 나뉩니다.
구현 단계 : 설계 단계에서 결정한 해결 방법을, 프로그램이 언어를 사용해 실제로 작성합니다.
🚩CI / CD
CI: 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)
CD: 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)
지속적 통합이란?
- 개발자를 위한 자동화 프로세스라고 볼 수 있으며, Code - Build - Test 단계에서 주로 사용됩니다. 잦은 풀 리퀘스트와 머지를 사용하며, 코드를 자주 통합하게 됩니다. 이러한 지속적 통합으로 보안 이슈, 에러 등을 쉽게 파악할 수 있어 해당 이슈를 빠르게 개선할 수 있습니다.
지속적 배포란?
- 지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 이 부분은 Release - Deploy - Operate 단계에서 꾀할 수 있습니다.
CI/CD 파이프라인은 다음과 같이 구성됩니다.
- 빌드 (소프트웨어 컴파일)
- 테스트 (호환성 및 오류 검사)
- 릴리스 (버전 제어 저장소의 애플리케이션 업데이트)
- 배포 (개발에서 프로덕션 환경으로의 변환)
- 규정 준수 및 유효성 검사
이 과정은 반복적인 프로세스이기 때문에 자동화 단계로 만들 시 효율이 높아진다고 볼 수 있습니다.
🚩github action
+ 캡쳐해서 추가 예정
완성한 배포 사이트: http://fe-62-raros17-s3.s3-website.ap-northeast-2.amazonaws.com/
'CODE STATES 44' 카테고리의 다른 글
Preproject 회고 (0) | 2023.06.27 |
---|---|
CORS에러와 프록시 (0) | 2023.06.07 |
npm ERR! code ENOENT (0) | 2023.06.02 |
Typescript 맛봄 (2) (0) | 2023.05.31 |
"Cannot read properties of undefined (reading 'pathname')" 에러 (0) | 2023.05.31 |