해당 Credential 에 대한, Unique ID > github-access-token
Build Triggers (Build 되는 기준) > Poll SCM > Schedule 에 [H * * * * ] 입력
매시간 github commit 된 거 있는지 체크하고, 있을 경우만 새롭게 Pull 받아와서 Build & Run
Build Steps > Add build step > Execute shell 에 아래 코드 입력
# Execute shell 에 입력
# maven clean and install
cd maps/
mvn clean install
# Check Port in use
cd target/
if lsof -i :8080 -sTCP:LISTEN -t >/dev/null 2>&1; then
pid=$(lsof -i :8080 -sTCP:LISTEN -t)
kill $pid
fi
# Start the JAR file
java -jar maps-0.0.1-SNAPSHOT.jar
Maven 설치 안되어서, Maven 설치
## in Terminal
sudo apt install -y maven
mvn --version
Jenkins@:8080, API@:8080 > Port 변경 필요 (Jenkins@:9090, API@:8080)
## 참고 > https://www.notion.so/Jenkins-port-f7c0cb83eb014965a0e2a7b619905698
## jenkins.service 쓰기 권한 부여
sudo chmod 777 /usr/lib/systemd/system/jenkins.service
## jenkins.service에 접속하여 Environment="JENKINS_PORT={원하는 포트}" 수정
Terminal> sudo vim /usr/lib/systemd/system/jenkins.service
------jenkins.service--------
# Port to listen on for HTTP requests. Set to -1 to disable.# To be able to listen on privileged ports (port numbers less than 1024),# add the CAP_NET_BIND_SERVICE capability to the AmbientCapabilities# directive below.
Environment="JENKINS_PORT=9090"
-----------------------------
## jenkins.service 추가적인 권한 취소
sudo chmod 444 /usr/lib/systemd/system/jenkins.service
# 방화벽에 걸릴 수 있으므로, ufw allow
sudo ufw allow {변경한 젠킨스 포트} > sudo ufw allow 9090
# 변경후, 데몬 프로세스와 젠킨스 재실행
sudo systemctl daemon-reload
sudo service jenkins restart
Jenkins > Save > DashBoard > Build Now > Connect ipaddress:8080