개발 생산성 향상을 위한 GitHub Actions: CI/CD 자동화

최근 지속적 통합(CI)과 지속적 배포(CD)의 중요성이 날로 커지고 있습니다. 이러한 흐름에 맞추어 GitHub Actions가 점점 많이 사용되고 있는데요. 과거에는 Jenkins를 주로 사용했지만 최근에는 비교적 접근성이 좋은 Github Action을 더 많이 사용하고 있어 GitHub Actions의 개념을 한번 정리해보았습니다.


GitHub ActionsGitHub에서 제공하는 CI/CD 서비스입니다. 개발자들은 GitHub코드 저장소와 직접 연계된 자동화된 워크플로우를 비교적 손쉽게 구축할 수 있습니다.


1. 활용 사례

  • 자동화된 배포: 새로운 기능이나 버전을 서버에 자동으로 배포

  • 주기적 작업 실행: 데이터 수집, 처리 등의 정기적인 작업 자동화

  • 테스트 자동화: 코드 변경 시 자동으로 테스트 실행


2. 개념

Workflow:

  • 자동화된 전체 프로세스를 정의

  • YAML 형식으로 작성되며, 프로젝트의 최상위 개념

Event:

  • Workflow를 트리거하는 특정 활동이나 조건

  • 예: 특정 브랜치로의 푸시, Pull Request 생성 등

Job:

  • 독립된 실행 환경

  • 가상 머신 또는 컨테이너 Ex: Lunux(ubuntu-latest), Window에서 수행되는 작업 단위

Steps:

  • Job 내부에서 순차적으로 실행되는 개별 작업들

  • 셸 명령어 실행이나 Action 사용 등을 포함

Action:

  • GitHub Actions의 꽃

  • 재사용 가능한 작업 단위로, GitHub Marketplace에서 다양한 Action 활용 가능

  • Ex: actions/checkout@v4(레포지토리를 워크플로우 실행 환경으로 가져옴. 복제)

Runner:

  • Workflow를 실행하는 서버 인스턴스

  • GitHub에서 제공하는 호스팅 Runner 또는 사용자가 직접 관리하는 Self-hosted Runner 선택 가능


3. 고려사항

  • 보안: 민감한 정보는 GitHub Secrets를 활용하여 안전하게 관리

  • 모듈화: 재사용 가능한 Action 개발을 통한 생산성 향상


이런 자동화 프로세스를 이용하여 팀의 생산성을 높여 보세요. 반복적인 작업에서 벗어나 더 가치 있는 업무에 집중할 수 있습니다.


https://docs.github.com/ko/actions

GitHub Actions 설명서 - GitHub Docs

GitHub Docs

GitHub Actions 설명서 - GitHub Docs

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 10월 20일 오전 3:53

 • 

저장 28조회 2,364

댓글 0