데브옵스(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. 시크릿 관리(민감 정보)
- 워크플로우에서 사용하는 중요한 정보(비밀 키, 암호 등)를 안전하게 관리
- 시크릿 저장소를 제공