티스토리 뷰
목차
간단한 토이 프로젝트 - 0 (프로젝트 의도)
간단한 토이 프로젝트 - 1 (깃허브,슬랙 연동)
간단한 토이 프로젝트 - 2 (gcp 인스턴스 생성 / nginx, jenkins, mysql 설치)
간단한 토이 프로젝트 - 3 (springboot 게시판 생성)
간단한 토이 프로젝트 - 5 (nginx와 톰캣 연동)
목표
jenkins와 github webhook 및 자동 배포
의도
클라우드에 톰캣을 설치하지 않고 jar로 어플리케이션을 구동하면서 자동으로 배포하는 환경을 구성한다.
작업
1. 젠킨스와 깃헙간에 webhook 연동
1) jenkins instance에서 개인키/공개키 생성
ssh-keygen -t ed25519
2) 생성된 공개키(id_ed25519.pub)를 github > Settings > Deploy keys에 등록
3) github > Settings > Webhooks에 jenkins url 등록
* http://외부ip:8080/github-webhook/
** 만약 젠킨스 구동 ip를 변경했으면 8080이 아닌 젠킨스 구동 ip로 설정
4) 젠킨스 로그인
5) 좌측 Jenkins 관리 선택
6) Security 탭에서 Manage Credentials 선택
7) Jenkins -> Global credentials -> (좌측탭) Add Credentials 차례로 선택
8) Kind 옵션을 SSH Username with private key로 변경
생성된 개인키(id_ed25519)를 Key에 등록
9) 젠킨스 홈에서 좌측 새로운 Item 선택
10) Freestyle project 선택 후 새로운 Item 생성
11)
* Repository URL은 Github에서 확인
Credentials는 위에서 생성한 이름의 개인키 선택
* 브랜치명 확인할것 (ide로 깃허브에 공유하는것 대신 깃허브를 먼저 생성했을 경우 main일 수 있음)
* GitHub hook trigger for GITScm polling 선택
2. 메타데이터에 jenkins 공개키 등록
* 메타데이터 -> SSH 키 -> 수정 -> 항목 추가
3. api 인스턴스에서 deploy.sh 추가
REPOSITORY=/home/nullnull_kim
PROJECT_NAME=board
echo "> 현재 구동중인 애플리케이션 pid 확인"
CURRENT_PID=$(pgrep -f ${PROJECT_NAME}.*.jar)
echo "현재 구동중인 애플리케이션 pid: $CURRENT_PID"
if [ -z "$CURRENT_PID" ]; then
echo ">현재 구동 중인 애플리케이션이 없으므로 종료하지 않습니다."
else
echo ">kill -15 $CURRENT_PID"
kill -15 $CURRENT_PID
sleep 5
fi
4. 깃허브 푸시 후 webhook -> build -> deploy 과정 확인
'프로그래밍 > 메모' 카테고리의 다른 글
내 서비스 만드는 삽질기0 (0) | 2023.02.10 |
---|---|
간단한 토이 프로젝트 - 3 (0) | 2022.03.11 |
간단한 토이 프로젝트 - 2 (0) | 2022.03.10 |
간단한 토이 프로젝트 - 1 (0) | 2022.03.10 |
간단한 토이 프로젝트 - 0 (0) | 2022.03.10 |
- Total
- Today
- Yesterday
- webhook
- slack
- springboot jpa
- oracle.jdbc.driver.T4CConnection.isValid(I)Z
- spring boot
- nginx 내장톰캣 연결
- 젠킨스 웹훅
- nginx to 내장톰캣
- 스프링부트 자동배포
- github webhook
- GitHub
- 젠킨스 자동 배포
- nginx 내장톰캣 설정
- oracle
- 깃허브 웹훅 젠킨스
- 토이프로젝트 회고
- 스프링부트 젠킨스
- nginx 톰캣 설정
- nginx to tomcat
- HTML
- nginx to springboot tomcat
- springboot
- spring boot jenkins
- 오라클
- 국비 프로젝트
- 오라클 계정 오류
- jenkins webhook
- CI/CD
- github webhook jenkins
- java.lang.AbstractMethodError
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |