1. 개요
기존 라즈베리파이에 서버를 구성하였을때 은전한닢(eunjeon) 형태소 분석기의 텍스트 분석 로직에서 java heap space 오류가 발생하여서 집에 사용하지 않는 노트북으로 서버를 옮기면서 jenkins도 다시 설치했다.
2. 설치과정
노트북의 OS는 우분투 환경이여서 아래의 jenkins 우분투 설치법을 보고 jenkins를 설치한다.
https://pkg.jenkins.io/debian-stable/
sudo apt-get install jenkins
명령어 까지 입력해서 jenkins를 설치했다면 jenkins에 접속(default 8080포트)하면 아래와 같은 화면을 볼수 있다.
/var/lib/jenkins/secrets/initialAdminPassword 파일의 내용을 확인해서 입력하고 continue를 눌러준다.
install suggested plugins을 선택해준다.
필요한 dependency들이 설치가 진행되고 완료되면 아래의 화면이 노출된다.
정보를 모두 입력해준후 save and continue 버튼을 누르면 아래의 화면으로 이동한다.
save and finish 버튼을 클릭하면 아래와 같이 jenkins를 사용할 준비가 되었다고 노출된다.
start using jenkins 버튼을 클릭해 jenkins 메인화면으로 이동하게 되고 이제 기본적인 jenkins 설정을 해주면 된다.
Jenkins 관리 > Configure System 으로 이동해 GitHub 영역에서 Add Github Server를 누른다.
Credentials은 GitHub Server 설정을 위한 Secret text와 개별 item의 github 소스와의 연결을 위한 Username with password을 생성해준다.
Kind를 Secret text를 선택 후 ID는 구분해주기 위한값을 넣고 Secret에서 github에서 생성한 token을 입력해준다.
Credentials을 방금 생성한 정보로 선택 후 정상적으로 연결이 되는지 Test connection을 클릭해 확인한다.
Kind를 Username with password은 usename을 github id, password는 github token을 입력 해준다.
다음은 프로젝트의 빌드 도구가 gradle이므로 gradle 설정을 하도록 한다.
Jenkins 관리 > Global Tool Configuration 으로 이동해서 Gradle 영역에서 Install automatically 체크박스를 체크 후 gradle 버전을 선택 후 name을 구분할 수 있는 값으로 입력해준다.
만약 서버에 설치된 gradle을 이용 할거면 Install automatically을 체크하지 않고 GRADLE_HOME에 서버에 설치된 gradle 경로를 입력해주면 된다.
이제 프로젝트를 배포하기 위한 item을 생성하도록 한다.
New Item을 누른 후 생성할 item name을 작성하고 Freestyle project를 클릭 후 OK를 클릭한다.
소스 코드 관리 영역에서 Git를 선택 후 github 소스 주소를 Repository URL에 입력 해주고 Credentials은 이전에 Username with password로 추가한것을 선택해준다.
해당 정보까지만 연결했을때 github 소스만 연결된 상태이기 때문에 빌드를 해보면 아래와 같이 /var/lib/jenkins/workspace/{item명} 위치에 github 소스가 jenkins가 위치한 서버에 그대로 배포된다.
서버에서 프로젝트가 배포된 경로로 이동해서 파일을 확인해보면 아래와 같이 github 소스들이 배포된 것을 확인할 수 있다.
api 서버를 jar 형태로 실행하기 위해서 프로젝트 소스가 jar로 배포되게 하기 위해서 jenkins item에 gradle 빌드 설정을 해준다.
Build Steps 영역에서 Invoke Gradle script 정보를 입력해주면 jenkins item 빌드 과정에서 gradle tasks를 실행하게 된다.
Invoke Gradle은 아까 추가한 gradle의 name을 선택해주고 Tasks에 bootJar를 입력해준다.
bootJar는 jar를 빌드해주는 태스크이다.
Build Steps 입력을 한 후 jenkins item을 빌드하면 이전 빌드 로그에 추가로 gradle tasks 가 실행되는 로그가 생기게 된다.
해당 프로젝트는 은전한닢 라이브러리를 적용했는데 은전한닢 라이브러리에서 사용하는 sbt-pgp:1.1.0 라이브러리를 찾지 못해서 에러가 발생하였고 해당 라이브러리는 버전이 바뀌었고 maven repository 저장소가 변경되어서 찾지를 못해서 발생하였다.
포스팅 내용이 길어져서 해당 에러를 해결하는 과정은 이후 포스팅에서 이어서 작성할 예정이다.
개인 프로젝트를 진행하면서 중간 중간에 기록을 제대로 남기지 않아서 진행했던 과정을 기억하면서 글을 작성하는데 어려움을 많이 느겼다.
앞으로는 개발을 진행하면서 기록을 남기는 습관을 가져야겠다.
3. 참고자료
https://pkg.jenkins.io/debian-stable/
https://bitbucket.org/eunjeon/seunjeon/src/master/
'개발 > 프로젝트' 카테고리의 다른 글
졸음퇴치 앱 개발 및 출시 (0) | 2024.06.21 |
---|---|
민간복지서비스정보 공유 사이트 (0) | 2023.07.20 |
뉴스 앱 개발 - 키워드 노출 기능 추가 (서론) (0) | 2023.01.31 |
뉴스 앱 개발 - maven 설치 (은전한닢(eunjeon) sbt-pgp:1.1.0 dependency 오류 수정) (0) | 2023.01.31 |
뉴스 앱 개발 - 가짜 뉴스 앱 구성도 (0) | 2023.01.16 |