HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🏀
[팀14] 슬램 - 우리 주변 농구장 예약
/
👩‍🔧
Git Action (back)
👩‍🔧

Git Action (back)

젤리(예경) - 작성 중

CI/CD
  • Continuous Integration(지속적 통합) / Continuous Delivery(지속적 전달)의 줄임말
  • 애플리케이션 개발단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법이다
    • CI - 테스트, 빌드, Dockerizing, 저장소에 전달 까지 프로덕션 환경으로 서비스를 배포할 수 있도록 준비하는 프로세스
    • CD - 저장소로 전달된 프로덕션 서비스를 실제 사용자들에게 배포하는 프로세스
Workflow
  • CI / CD 같은 자동화된 프로세스를 만들기 위한 yaml 파일
  • workflow > job > step > action 순으로 명시를 해서 파일을 작성해야 한다
    • workflow : 레파지토리에 정의한 자동화된 프로세스 절차이다
    • job : job은 하나 이상의 steps로 구성되고 workflow에 있는 job 끼리는 병렬적으로 실행된다
    • step : 하나의 step은 하나의 task이다
    • runner : Github에 의해 호스팅 되고있는 서버이다. runner를 통해서 job을 실행시킨다
예시
  • 예시 1
name: learn-github-actions # workflow 이름 on: push: branches: [ master ] pull_request: branches: [ master ] jobs: check-bats-version: # job 이름 runs-on: ubuntu-latest # Job이 돌아갈 환경을 명시한다. 여기서는 ubuntu 최신 버전을 입력한 것 steps: - uses: actions/checkout@v2 # 누군가가 만들어 놓은 것을 가져와 사용하는 것 - uses: actions/setup-node@v1 - run: npm install -g bats - run: bats -v
  • 예시 2
name: Java CI with Maven on: push: branches: [ master ] pull_request: branches: [ master ] jobs: package: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up openjdk-15 uses: actions/setup-java@v1 # 여기서는 자바 버전으로 15.0.1을 입력 with: java-version: 15.0.1 - name: Build with Maven run: mvn -B package --file pom.xml # maven을 이용한 package 명령
주의할 점(Main branch)
  • 빌드가 안되는 코드는 애초에 PR(Pull Request) 리뷰로 가지 않도록 한다.
  • 브런치 정책에 따라서 PR 리뷰를 하고 이를 통해서 merge를 하도록 한다
참고
Github Action을 이용한 CI/CD 개발 주기 자동화
CI (Continuous integration) 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되서 공유 레파지토리에 통합되므로 여러 명의 개발자가 동시에 애프리케이션 개발과 관련된 코드 작업을 할 경우 충돌하는 문제를 해결할 수 있다.
Github Action을 이용한 CI/CD 개발 주기 자동화
https://velog.io/@youngerjesus/Github-Action%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-CICD-%EA%B0%9C%EB%B0%9C-%EC%A3%BC%EA%B8%B0-%EC%9E%90%EB%8F%99%ED%99%94
Github Action을 이용한 CI/CD 개발 주기 자동화
따라하면서 만들어보는 Git Action CI/CD
안녕하세요. 글또 5기를 시작하며 에서 다짐한 것 처럼 Github의 Git Action을 사용하여 CI/CD를 구현하는 방법을 포스팅해보았습니다. 회사에서는 Git Flow 방식으로 develop, release(stg), master(prod)로 구분하여 브랜치 별로 Push가 감지되면 도커 이미지를 빌드하고, AWS ECR에 빌드 된 이미지를 Push하는 방식으로 사용하였습니다.
따라하면서 만들어보는 Git Action CI/CD
https://newbiecs.tistory.com/322
따라하면서 만들어보는 Git Action CI/CD