Jenkins에 app 배포 [GitHub, Maven 이용]

2023. 10. 11. 17:01docker

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 설치 되어 있음


 

maven 검색 후 Install 클릭

 

 

이름 설정

 

 

참고 사이트

(GitHub)깃허브 프로젝트 올리기/ 레파지토리 생성 및 지우는법(자세한 설명) (tistory.com)

 

(GitHub)깃허브 프로젝트 올리기/ 레파지토리 생성 및 지우는법(자세한 설명)

깃허브에 프로젝트 올리기 포스팅 요약 1. 깃허브 레파지토리 생성 및 프로젝트 올리기 - 자세한 설명 2. 생성한 레파지토리 - 자세한 설명 레파지토리 생성 및 프로젝트 올리기 1. 깃허브 접속 후

eunhee-programming.tistory.com

 

 

GitHub project 올리기

repository 만들어두자


 

windows에 git 설치


 

빨간 박스 클릭


 

repositoy에 올릴 시 메뉴얼 참고

 

 

확인

 

 

jenkins에 app 배포 [GitHub 이용]

jenkins에서 프로젝트 생성

 

 

URL 입력


 

branch에 main 입력


 

option 입력 후 Apply 클릭, 저장 클릭 이후 지금 빌드 클릭

 

 

빌드 완료!

 

 

bash 통해 jenkins 들어가도 빌드 확인 가능

 

 

hello-world.war 확인


 

트러블 슈팅

빌드 시 java 관련 오류가 나면 빌드 구성에서 위 경로를 입력하자

'docker' 카테고리의 다른 글

windows tomcat에 app 배포 [Jenkins, GitHub, Maven 이용]  (0) 2023.10.11
Tomcat  (0) 2023.10.11
Jenkins  (0) 2023.10.11
배달앱 배포  (0) 2023.10.10
Grafana  (0) 2023.10.10