2023. 10. 11. 17:01ㆍdocker
GitHub
GitHub는 소프트웨어 개발 및 협업을 위한 웹 기반 플랫폼으로, Git 버전 관리 시스템을 기반으로 한다. GitHub는 개발자들이 코드를 공유하고 협업하는 데 사용되며, 오픈 소스 프로젝트부터 기업용 프로젝트까지 다양한 규모와 유형의 프로젝트에서 사용된다.
GitHub의 주요 기능 및 특징
- 버전 관리 : GitHub는 Git을 기반으로 하며, 코드 변경 내역을 추적하고 관리할 수 있다. 이를 통해 여러 개발자가 동시에 작업하고 변경 사항을 효과적으로 관리할 수 있다.
- 원격 저장소 : GitHub는 원격 저장소를 호스팅하며, 코드를 온라인으로 백업하고 공유할 수 있다. 이로써 여러 사용자가 코드에 접근하고 협업할 수 있다.
- 협업 및 이슈 관리 : GitHub는 이슈 트래커를 통해 버그 리포트, 작업 항목, 진행 중인 작업, 등을 관리할 수 있다. 또한 풀 리퀘스트를 통해 코드 변경 사항을 검토하고 통합할 수 있다.
- 웹 기반 인터페이스 : GitHub는 코드 검색, 웹 기반 코드 브라우징, 커밋 히스토리 및 코드 비교 등을 위한 사용자 친화적인 웹 인터페이스를 제공한다.
- 팀 및 조직 : GitHub는 조직 및 팀을 만들어 프로젝트에 참여하는 사용자를 관리하고 역할을 할당할 수 있다.
- CI/CD 통합 : GitHub Actions를 사용하여 지속적 통합 (CI) 및 지속적 배포 (CD) 워크플로우를 설정하고 실행할 수 있다.
- 보안 및 권한 관리 : 민감한 코드 및 데이터에 대한 접근을 제어하기 위한 보안 및 권한 관리 기능을 제공한다.
- 오픈 소스 커뮤니티 : GitHub는 수많은 오픈 소스 프로젝트의 호스팅 플랫폼으로 유명하며, 전 세계의 개발자들과 협업할 수 있는 커뮤니티를 제공한다.
Maven
Apache Maven은 자바 프로젝트를 빌드, 관리 및 관리하는 데 사용되는 오픈 소스 빌드 자동화 도구다. Maven은 프로젝트의 종속성 관리, 빌드 프로세스 정의, 테스트, 패키징 및 배포를 간단하게 처리할 수 있도록 도와주며, 자바 개발 프로세스를 효율적으로 관리하는 데 도움을 준다.
Maven의 주요 특징 및 개념
- POM (Project Object Model) : Maven 프로젝트는 POM 파일에 프로젝트의 정보와 설정을 정의한다. 이 POM 파일은 XML 형식으로 작성되며, 프로젝트의 의존성, 빌드 설정, 플러그인 설정 등을 포함한다.
- 의존성 관리 : Maven은 프로젝트가 필요로 하는 외부 라이브러리 및 의존성을 관리한다. 이러한 의존성은 중앙 저장소(Central Repository)에서 다운로드된다.
- 표준 빌드 라이프사이클 : Maven은 표준 빌드 라이프사이클을 제공한다. 이 라이프사이클은 프로젝트를 빌드, 테스트, 패키징, 배포하는 일련의 단계로 구성된다.
- 플러그인 기반 아키텍처 : Maven은 다양한 플러그인을 지원하며, 이를 사용하여 다양한 작업을 수행할 수 있다. 예를 들어, 컴파일, 테스트 실행, 웹 애플리케이션 배포 등을 플러그인을 통해 수행할 수 있다.
- 다중 프로젝트 지원 : Maven은 다중 프로젝트 빌드를 지원하며, 여러 프로젝트를 단일 부모 프로젝트로 관리할 수 있다.
- 중앙 저장소(Central Repository) : Maven은 Java 라이브러리 및 의존성을 저장하고 공유하는 중앙 저장소를 제공한다. 이 저장소에서 필요한 라이브러리 및 의존성을 다운로드할 수 있다.
Jenkins에 github와 maven plug 설치
참고 사이트
(GitHub)깃허브 프로젝트 올리기/ 레파지토리 생성 및 지우는법(자세한 설명) (tistory.com)
(GitHub)깃허브 프로젝트 올리기/ 레파지토리 생성 및 지우는법(자세한 설명)
깃허브에 프로젝트 올리기 포스팅 요약 1. 깃허브 레파지토리 생성 및 프로젝트 올리기 - 자세한 설명 2. 생성한 레파지토리 - 자세한 설명 레파지토리 생성 및 프로젝트 올리기 1. 깃허브 접속 후
eunhee-programming.tistory.com
GitHub project 올리기
jenkins에 app 배포 [GitHub 이용]
트러블 슈팅