본문 바로가기
CICD

[TIL] 240413 Github Actions로 CICD 공부

by studymode 2024. 4. 13.

Github Actions?

  • Github에 내장된 CI/CD 도구
  • Github에 내장되어있어 깃허브와 통합이 쉽다
  • CICD서버가 내장되어있어 CICD서버를 따로 구축할 필요가 없다
  • 동작 방법:
    • repository의 .github/workflows 디렉토리에 필요한 Actions 파일들을 yaml 형식으로 작성
    • 작성된 actions 파일들을 github에서 자동으로 실행

 

Github Actions CI

  • test를 통과한 코드만 develop 브랜치와 main 브랜치에 merge되도록 하여 오류를 방지하고 안정적인 코드가 배포되고 버그를 빠르게 발견
  • workflow 설명
    • develop 이나 feature로 시작하는 브랜치에 코드가 push 되거나 develop 을 destination으로 하는 pull request가 생성되면,
    • ./gradlew clean test를 실행한다.

 

Github Actions CD

  • 배포를 자동화하는 작업을 기술해서 빠르고 간편하게 배포

 

Github CICD 전체 흐름

  • 개발자는 feature/ 로 시작하는 브랜치를 만들어서 test코드를 포함한 수정 작업을 완료한 뒤 Pull Request 생성
  • (자동화) Pull Request를 만들면 해당 브랜치에 대해 gradle test를 수행
  • Pull Request 코드의 test가 실패한 경우, Pull Request 를 생성한 개발자는 test 코드를 수정하여 Pull Request를 변경
  • Pull Request 코드의 test가 성공한 경우, 다른 개발자들의 승인을 기다림
  • 다른 개발자들은 Pull Request의 코드를 승인하거나 댓글로 소통
  • (자동화) main 브랜치에 merge 되면 해당 브랜치를 cloudtype 서버에 배포

트러블슈팅

처음에 안되서 ssh 토큰 등록

경로 다시 지정해주고 파일 다시 만들어서 깔고 성공

 

https://brunch.co.kr/@hongjyoun/83

 

Github Actions로 자동배포하기

Githup pages로 홈페이지를 자동 배포해보자 | Github Actions가 뭐지? 배포란 말 그대로 인터넷상에 이 파일들을 업로드하는 작업이다. 간단한 흐름을 보면 아래와 같다. 코딩 → 빌드 → 배포(업로드)

brunch.co.kr