데브옵스(DevOps)/GIT

Github - Github이란 무엇인가

먹보 개발자 2024. 9. 24. 17:18

Github이란?

  • 버전관리와 협업을 위한 웹 기반의 플랫폼
  • 소프트웨어 개발 프로젝트를 호스팅하고 관리하는데 사용
  • GitHub를 통해 소스 코드를 관리
  • 다른 개발자들과 협업하며, 프로젝트를 추적하고 관리

 

Github의 주요 기능과 개념

1. 버전관리

  • Git이라는 분산 버전 관리 시스템을 기반
  • 변경 내용을 효과적으로 추적하고 다양한 시점의 버전을 저장

 

2. 저장소

  • 프로젝트의 모든 파일과 폴더, 그리고 이력과 버전 정보를 포함하는 공간
  • 공개 저장소와 비공개 저장소 제공

 

3. 풀 리퀘스트

  • 다른 개발자가 소스 코드 변경을 제안
  • 특정 브랜치의 변경 사항을 병합하기 위해 보내는 요청
  • 코드 리뷰와 협업

 

4. 이슈

  • 프로젝트 관리를 위한 토론 공간
  • 버그 리포트
  • 새로운 기능 제안

5. 브랜치

  • 저장소에서 독립적으로 개발이 가능하도록 하는 개념
  • 각각의 브랜치는 다른 작업을 수행하거나 특정 기능을 개발할 때 사용

 

6. 위키

  • 프로젝트에 대한 문서, 설명, 가이드 등을 작성하고 공유

GitHub Actions

  • Github에서 제공하는 자동화 서비스
  • 코드 저장소(repository)에서 일어나는 다양한 이벤트에 대해 설정한 작업들을 자동으로 실행
  • CI/CD (Continuous Intergration / Continuous Deployment) 구축
  • QA 및 테스트 자동화

주요 특징과 사례

1. 이벤트 기반 실행

  • 특정 이벤트(예: 푸시, 풀 리퀘스트 생성)에 대한 반응으로 자동으로 실행

2. CI/CD 자동화

  • 코드 변경이 발생할 때 자동으로 빌드, 테스트, 배포 등의 작업을 수행
  • 소프트웨어의 품질을 유지하고 신속한 배포를 가능

3. 컨테이너 지원

  • 도커 컨테이너를 사용하여 환경을 쉽게 설정
  • 다양한 플랫폼에서 작업을 실행

4. Github 액션 공개 커뮤니티

  • GitHub Marketplace에는 다양한 작업을 수행하는 액션들이 공개
  • 다른 개발자들이 만든 액션을 가져와 활용

5. 시크릿 관리(민감 정보)

  • 워크플로우에서 사용하는 중요한 정보(비밀 키, 암호 등)를 안전하게 관리
  • 시크릿 저장소를 제공