Bleeding edge

2022/11/28 본문

ConnecTo

2022/11/28

codevil 2022. 11. 28. 17:06

DevOps = Development + operations

개발과 운영의 함성어

Dev : Plan - Code - Build - Test

Ops : Release - Deploy - Operate - Monitor

Cross Functional Team : 개발과 운영을 한팀으로 묶어 프로세스의 자동, 단일화

CI/CD Tool 이용하여 Build, Test, Deploy 자동화

장점

  • 커뮤니케이션 리소스 개선
  • 개발, 배포 속도가 빨라짐
  • 프로세스 간소화
  • 짧은 릴리즈 주기

CI/CD

Continuous Integration

Build ⇒ Test ⇒ Merge

Continuous Delivery

Automatically Release to Repository

Continuous Development

Automatically Deploy To Production

CI(Continuous Integration)

  • 자동화된 프로세스
  • 코드 변경사항의 정기적 빌드, 테스트 병합 자동화
  • 장점
    • 빠른 디버깅
    • 코드 품질 개선
    • 검증 및 릴리즈 시간 단축

CD(Continuous Delivery(or Deployment))

  • Continuous Delivery: 공유 저장소로 자동 Release(Test ⇒Staging)
  • Continuous Deployment: Production Level까지 자동 Deploy(Test -> Staging -> Production)
  • MSA(MicroService Architecture) + Agile 일 경우, 사용자에게 최대한 빠른 시간안에 Production 제공 필요

CI/CD는 해야하는 업무가 많을 수록 효율적으로 만들어 준다.

Issue & PR Templates

  • configuration file을 만들어 issue와 PR 내용의 template 지정 가능
  • .github/ISSUE_TEMPLATE/*.md 에 template 생성 가능
  • Settings - Features_Set up templates 에서 손쉽게 생성 가능
  • .github/PULL_REQUEST_TEMPLATE/pull_request_template.md

github actions

  • github에서 공식 제공하는 CI/CD Tools
  • 개발 workflow 자동

Workflow

  • Job들로 구성. Event에 의해 트리거되는 자동화된 프로세스
  • 최상위 개념
  • YAML으로 작성되며, .github/workflows에 저장

Don't reinvent the wheel

  • CI/CD 파이프라인은 그 절차와 각 단계에서의 할 일이 정해져 있는 편
  • 이미 만들어진 것에 커스터마이즈 하는 것이 CI/CD 스크립트 짜는 시간을 개발에 투입 가능

참고할만한 API

https://www.data.go.kr/index.do

https://rapidapi.com/hub

'ConnecTo' 카테고리의 다른 글

2022/11/30  (0) 2022.11.30
2022/11/29 - Git actions  (0) 2022.11.30
2022/11/25 - Redux  (0) 2022.11.28
2022/11/24 - Route  (0) 2022.11.24
2022/11/23 - TIL  (0) 2022.11.24