호돌찌의 AI 연구소
article thumbnail

이번 글은 github을 예를 들어서 Workflow에 대한 개념을 알아보고자 합니다.

 

1. Github Actions

Github Actions는 일반적으로 CI/CD 툴로 인식이 되어있지만 엄밀히 말하자면 개발자들의 Workflow를 자동화하기 위한 플랫폼으로 부를 수 있습니다. 내 코드를 build, deploy 하는 것을 자동화해줍니다. 
오픈 소스 프로젝트들을 위한 플랫폼인 Github을 예로 들어 설명을 해보겠습니다. 아래는 pytorch github입니다. 공식적으로 프로젝트를 사용하고 기여하는 것이 가능합니다. 

 


2. Workflow 내용, 정의 
계속해서 Github를 예로 들겠습니다. Github Flow는 아래와 같습니다. Master Branch에서 개선사항 들이 생겨, Commit들이 계속 Change 되고, PR(Pull Requests)를 생성해 Reviewer들에게 요청합니다. 이 것들을 전부 피드백을 나누어 master branch에 개선사항을 반영을 할지 말지, 또는 이를 반영했을 때 위험요소 또는 정상 작동하는지 점검을 합니다. 

https://build5nines.com/introduction-to-git-version-control-workflow/

 

좋은 프로젝트일 수록 유저들과 Contributer들이 계속 추가됩니다. 유저들은 버그가 고쳐졌는지? 검증 후 Master로 Merge가 되는지? 에 대한 입장이고, Contributer들은 여러 사항들 중 Task들의 경중을 파악하고, 재현이 가능한 Task인지 판단합니다. 

Contributer들이 보는 Issue의 예시
User들이 보는 Pull Request의 예시



Contributer입장에서는 PR들을 받아, PR 각각에 대해 병합 및 테스트를 잘 쌓아서 배포, 즉 CI/CD pipeline을 수행합니다. 또한 여기서 끝나는 게 아니라, Minor 한 변화인지 Major 한 변화인지에 대한 Release 노트 준비 및 버전 넘버 업데이트 등에 대한 준비도 필요합니다. 이러한 내용들이 반복되는 것이 바로 Workflow입니다.

 

 

 

 

 

 

 

 


3. Github Actions
Issue, PR들이 동시다발적으로 계속 일어나기 때문에 이러한 것들을 자동화를 해놓지 않으면, 충돌이 일어나거나 정상적인 반영이 되기 어렵습니다. 또한 한 Repo안에서 PR뿐만 아니라 Contribution 추가, PR 병합, 기타 application들과 같은 이벤트들이 발생합니다. 이러한 것들을 github event라고 부르며 이 이벤트들을 발생 감지하고, Workflow를 수행하는 것들이 Github Actions이라고 부릅니다. 아래 그림과 같이 정렬, 제목 생성, 할당, 재생성 등과 같은 것들 하나하나를 Action이라고 부릅니다. 

 

 

이제 앞으로 다룰 내용 들은 Test, Build, Push, Deploy하는 pipeline에 대한 내용을 다룰 예정입니다. 

 

 


https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 

 


profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!