Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- FCF
- 현금흐름표
- etf
- 그리디 알고리즘
- 무디스
- 금리인상
- 접근제어자
- 자바
- 주식
- javascript
- StringBuffer
- 제태크
- 기업분석
- S&P500
- XLF
- 다형성
- 오버라이딩
- 알고리즘
- 금리인하
- 배당성장
- 잉여현금흐름
- 프로그래머스
- 주린이
- Java
- mco
- 인플레이션
- 객체지향
- 미국주식
- 백준
- object
Archives
- Today
- Total
오늘의하루
Step1-1. Jenkins에서 GitHub Webhook 사용 및 실행 본문
EC2에서 Jenkins 설치 및 Maven Project 빌드하기
Git Hub에서 WebHook 설정하기
Jenkins에서 설정한 Repository에서 Settings > Webhooks를 선택한 후 Add webhook을 통해 webhook을 설정할 수 있다.
Payload URL : [EC2 Public IP]:[Jenkins Port]/github-webhook/
Content type : application/json
Jenkins의 Item Configuration 변경 및 Push
빌드 유발에서 GitHub hook trigger for GITScm polling을 체크한 후 저장한 후 push를 하게 되면 Build된다.
EC2 프리티어를 사용할때 팁
Jenkins에 대해 공부하면서 느낀점이 서버가 너무 많이 터진다는 점이다. 이를 조금이나마 해결하기 위해 구성에서 Add build step의 Delete workspace before build starts를 선택해주는 것이다.
Delete workspace before build starts는 빌드 시작 전 Jenkins는 작업공간을 모두 삭제합니다.
Jenkins 이용시 서버가 터진다면 아래 글을 참고 하세요
실행을 위한 Execute shell 작성
백그라운드 실행이 되지 않아 가장 힘들었던 구간이다.shell을 작성하기 위해서는 bash Script를 알고 있으면 도움이 많이 된다.
#!/bin/bash
jar_file="demo/target/demo-0.0.1-SNAPSHOT.jar"
pid=$(pgrep -f demo-0.0.1-SNAPSHOT.jar)
if [ -n "$pid" ]; then
kill -9 $pid
echo "실행 중인 프로세스를 종료했습니다."
else
echo "실행 중인 프로세스가 없습니다."
fi
if [ -f "$jar_file" ]; then
BUILD_ID=dontKillMe nohup java -jar $jar_file &
echo "새로운 JAR 파일을 실행했습니다."
else
echo "JAR 파일이 존재하지 않습니다."
exit 1
fi
여기서 알게된 점은 Jenkins는 빌드 종료 시 빌드 중 생성된 자식 프로세스를 종료(kill)한다는 것이다.
이걸 모르고 백그라운드로 실행하게 되면 빌드가 종료되고 빌드 중 생성된 프로세스가 종료되버리기 때문에 연결되었다가 바로 종료된다.
하지만 포그라운드의 경우 빌드가 종료되지 않고 있어서 연결이 되는 것이고 이는 다음 작업을 하지 못하게 막고 있게 된다.
빌드 중 생성된 프로세스를 종료(kill)하지 않기 위해서는 BUILD_ID=dontkullMe를 앞에 붙여주기만 하면 된다.
그럼 해당 프로세스는 종료되지 않고 나머진 종료되게 된다.
'Spring > mini Project' 카테고리의 다른 글
Step1-3. 빌드 후 백그라운드 실행이 되지 않아 외우게 된 명령어 (1) | 2024.02.08 |
---|---|
Step1-2. EC2 프리티어 Jenkins 서버 터지는 현상 해결 (0) | 2024.02.07 |
Step1. Jenkins 설치 후 프로젝트 Build 및 Start (1) | 2024.02.06 |
[Java] 점심시간 자동 화면 잠금 (2) | 2023.12.26 |
[Spring boot & React] mini project 시작 (2) | 2023.11.28 |
Comments