github actions로 CI/CD 구축하기 - 1

ansunny1170·2023년 6월 13일
0

개발

목록 보기
6/11

시작하는말

처음에는 기능 구현이 가장 큰 목표였기 때문에 온힘을 다하였습니다. 하지만 프로젝트가 진행 될 수록 기능도 늘어나고, 코드의 양도 방대해져 기능 구현/개선이 새로운 버그의 출현으로 이어지는 일이 점점 많아졌습니다.
테스트 코드와 CI/CD 필요성이 절실해지는 시기입니다.
상대적으로 여유가 생겨 그동안 미뤘던 개발 부채 및 인프라 개선과 자동화 작업을 진행하려 합니다.
github actions를 사용하여 CI/CD 구축을 해보겠습니다.

github actions 배우기

https://www.youtube.com/watch?v=iLqGzEkusIw

CI : Continuous Integration
CD : Continuous Delivery
CD : Continuous Deployment
지속적인 통합 / 지속적인 배포

github actions는 5가지 단계로 진행됩니다.

  • event:
    • dev 브랜치로 merge/commit/push/pr 등 이슈를 열면 catch!
  • workflows:
    • event에서 catach 되었을 때 실행시켜야할 전체 process, 하나의 요리책 같은 것 입니다.
    • 내부에 jobs가 있습니다.
  • jobs:
    • 하나의 job으로 무언가를 합니다.
    • 여러 job은 기본적으로 병렬진행하나, 직렬진행으로 설정 가능합니다.
    • shell script로 step을 진행할 수도 있고, github actions에서 공개 open한 action을 사용할 수 있습니다.
  • actions:
    • ex) action setup node : 자동적으로 node환경을 세팅합니다.
  • runners:
    • 각 job을 실행시키는 것이다. 쉽게 이해하면, vm or docker container라고 볼 수 있습니다.
    • runner라는 컨테이너 에서 실행한다고 보면 됩니다.

간단 코드 설명

proj 경로 안에 .github/workflows/~~~.yml 파일이 있어야 실행가능 합니다.

name: learn-github-actions # workflows 이름 명시
on: [push] # event 조건 명시(commit이 push 될 때 마다)
jobs:
  check-bats-version: # job 이름 명시(event 조건 마다 실행)
    runs-on: ubuntu-latest # runner 환경 명시(어떤 vm 사용할 것인지)
    steps: # steps 순서 나열
      - uses: actions/checkout@v3 # github actions의 checkout action 사용
      - uses: actions/setup-node@v3 # github actions의 setup-node action 사용
        with: # with 문법을 사용해 node 버전 명시
          node-version: '14'
      - run: npm install -g bats # 원하는 명령어를 run 문법을 통해 명시
      - run: bats -v

github actions 사용 설명

  • actions에서 템플릿 선택
  • 자동적으로 workflows안에 yml 파일이 세팅 되었습니다.
  • 우리 proj에 맞게 .yml파일 수정
  • .yml파일 commit
  • commit 하면 아래와 같이 확인 가능
  • actions 탭을 누르면 방금 commit한 workflows가 바로 실행 중인 것을 볼 수 있습니다.

마치는 말

영상 내용 토대로 복기하였으며, 다음 작성시에는 실 proj에 적용 방법을 기록해 보려 합니다.

profile
공정 설비 개발/연구원에서 웹 서비스 개발자로 경력 이전하였습니다. Node.js 백엔드 기반 풀스택 개발자를 목표로 하고 있습니다.

0개의 댓글