[CI/CD] CI/CD와 자동화

CI/CD : 지속적인 통합과 지속적인 배포(또는 지속적인 서비스 제공).

Continuous Integration, Continuous Deployment(Continuous Delivery).

코드의 병합부터 빌드까지의 단계를 자동화하여 더 자주, 빠르게 어플리케이션 서비스를 제공하는 것.

CI/CD 파이프라인은 이러한 배포 과정을 자동화 시키는 것 

 

CI/CD 파이프라인 구성 요소

  • 빌드 (소프트웨어 컴파일)
  • 테스트 (호환성 및 오류 검사)
  • 릴리스 (버전 제어 저장소의 애플리케이션 업데이트)
  • 배포 (개발에서 프로덕션 환경으로의 변환)
  • 규정 준수 및 유효성 검사

상기 사항들이 실무에서는 계속 반복해야 하는 작업이기에 자동화하여 빠르게, 휴먼에러 없이 진행할 수 있도록 파이프라인으로 만든다.

 

Github Actions

깃허브에서 제공하는 파이프라인을 자동화 할 수 있게 해주는 CI/CD 플랫폼.

.github/workflows 디렉토리 아래에 .yml (혹은 .yaml ) 파일을 만들어 pull request, push 등의 이벤트 트리거를 통해 워크플로우를 만들어 동작하게 할 수 있다.

 

.yml 파일 예시

.yml파일에는 YAML언어를 사용해야 하는데 JSON과 비슷한 key-value 형태를 띄고 있지만 JSON보다 상위 언어로 더욱 읽기 편한 문법으로 구성되어 있다. 

또한 JSON에서는 주석을 사용할 수 없는데 반해 YAML에서는 주석을 사용할 수 있다는 편리함이 있다. 

 

 

 

 

수업 과제 - github action으로 클라이언트 CI/CD를 구축한 배포 링크 (클라이언트 배포) :

https://github.com/AngryDoggaebi/fe-sprint-my-agora-states-server-reference/

http://fe-73-angry-doggaebi-s3.s3-website.ap-northeast-2.amazonaws.com/

'SW공부 > 그 외' 카테고리의 다른 글

[web] 웹 표준과 접근성  (0) 2023.04.28
[UIUX] UI UX란 무엇인가  (0) 2023.04.13