IT수업/리눅스

IT 수업 26주차 (210) Jenkins 설정

워제하 2024. 6. 18. 11:45

 

 

Dashboard로 가서 Jenkins 관리로 간 뒤 System을 클릭해준다.

 

여기서 

system -> github 설정

tools -> jdk,gradle 설정

plugins -> build 이후 설정

을 하는 것이다.

 

 

 

github까지 내려와 add github server클릭한다.

 

 

그리고 자신의 github로 와서 settings로 들어가 

 

 

Developer settings를 선택해주고 

 

Personal access tokens을 선택한 뒤 Tokens를 선택해준다.

안의 내용들을 작성해주는데

 

 

체크 할 때는 workflow와 write:package 이 두 개 빼고 다 체크 해준 뒤 generate token을 해준다.

 

 

 

 

그러면 토큰 값이 나오는데 복사하여 

 

 

Jenkins의 github로 가서 add를 누른 뒤 나오는 secret key에 붙여넣기 해주면 된다.

(나머지는 이미지와 똑같이 작성해주면 됨)

 

 

여기서 ID와 Description 이름을 똑같이 해줘야 나중에 구별 가능

 

 

 

다 작성했으면 저장 버튼 클릭한다.

 

 

 

 

다시 jenkins 관리로 간 뒤 Tools로 들어간다.

 

 

JDK add 하여 현재 JDK 버전을 적고 JAVA_HOME에는 PUTTY에서 alternatives --config java를 입력하여 나오는 값 중 /bin 앞에 까지만 블럭지정해 복사하여 붙여넣기 해준다.

(즉, /usr/lib/jvm/java-21-amazon/corretto.x86_64 까지)

 

 

 

 

 

다했으면 gradle까지 내려오는데 자신의 gradle버전을 확인하여 적으면 된다.

확인하는 방법은 자신의 레파지토리로 가서 gradle의 wrapper의 properties에서 확인 가능하다.

 

 

 

다했으면 jenkins 관리로 와서 plugins로 들어간다.

 

 

 

installed plugins를 선택해 gradle이 설치되어 있는지 확인하고

 

 

설치가 되어있으면 Available plugins로 들어가 github int을 입력해 install에 체크해주고 install해준다.

 

install 성공이 떠야 한다.

 

 

 

 

다했으면 다시 availabel plugins 로 가서  post build task을 입력하여 체크해주고 install 해준다.

 

 

 

다 설치 했으면 새로운 Item을 선택해 이름을 작성해주고 freestyle project를 선택해준다.

 



그리고 밑의 OK 눌러주면 된다.

 

 

 

 

이번에는 general로 와서 github의 레파지토리 주소를 넣어주고

해당 레파지토리의 주소 복사

 

 

소스 코드 관리로 들어와 git을 선택한 뒤 똑같이 github 주소를 넣어준다.

 

 

밑으로 내려와 branch는 */master로 되어있는 것을 */main으로 변경해주고 밑으로 내려간다.

 

 

build Steps로 와서 Invoke Gradle script를 선택해준 뒤 Gradle_버전을 입력하고 Tasks에 clean build를 작성해주고 저장해준다.

 

 

저장 버튼 클릭

 

 

 

지금 빌드 버튼을 클릭하면 밑에 build History에 #1이 뜨는데 #1을 클릭하면 지금 빌드되고 있는 정보들을 확인 할 수 있다.

 

 

console output을 선택하면 현재 진행상황을 볼 수 있다.

 

 

 

 

 

만든 DEPLOY_TEST_01을 클릭해서 구성을 눌러 빌드 후 조치 추가를 눌러준다.

 

 

Post build task 선택하고 Log text 에 SUCCESS를 적어준다.

 

 

 

 

 

PUTTY로 가서 java를 기반으로 동작하는 프로세스들을 확인 한다.

ps -elf |grep java 

 

 

 

java -jar /var/lib/jenkins/workspace/DEPLOY_TEST_01/build/libs/demo-0.0.1-SNAPSHOT.jar  를 입력하여 실행시킨다.

 

 

그리고 밑의 메모장처럼 JAR_PATH와 java -jar에 /var 이후부터 .jar 까지 넣어준다.

 

- 해당 코드

#!/bin/bash

# 프로세스를 실행한 Java 명령어와 JAR 파일 경로를 지정합니다.
JAVA_COMMAND="java -jar"
JAR_PATH="/var/lib/jenkins/workspace/DEPLOY_TEST_01/build/libs/demo-0.0.1-SNAPSHOT.jar"

# 해당 Java 프로세스를 찾아서 PID를 얻어냅니다.
TARGET_PID=$(pgrep -f "$JAVA_COMMAND $JAR_PATH")

# PID를 확인하고 종료합니다.
if [ -z "$TARGET_PID" ]; then
    echo "해당 프로세스가 이미 종료되었습니다."
else
    echo "프로세스 $TARGET_PID 종료 중..."
    kill -9 "$TARGET_PID"

    # 종료 후 확인
    if ps -p "$TARGET_PID" > /dev/null; then
        echo "프로세스 $TARGET_PID 종료 실패"
        # exit 1
    else
        echo "프로세스 $TARGET_PID 성공적으로 종료됨"
    fi
fi

nohup java -jar /var/lib/jenkins/workspace/DEPLOY_TEST_01/build/libs/demo-0.0.1-SNAPSHOT.jar &

 

 

 

수정한 코드들을 복사하여 소스 관리의 script에 붙여넣기 해준다.

 

 

 

dulicated session하여 sudo su로 관리자로 이동해주고

 

ps -lef |grep java 를 입력해본다.

 

 

젠킨스로 돌아와서 지금 빌드의 #2를 클릭하여 console output을 클릭하면 진행상태를 볼 수 있다.

 

 

 

 

 

- 수정

 

ec2-user에서 해야하는데 root에서 했으므로 kill 해준다.

kill -9 뒤에 포트번호 적어줘야함 ( 다운받은 demo 파일의 포트번호를 작성해야함 )

 

 

 

 

그리고  vi /etc/sudoers 로 가서 :100 을 입력하여 위치로 가준 뒤 root ALL=(ALL)  ALL  을 복사해서 (YYD)로 ec2-user를 추가해준다. 그리고  :wq! 로 나온다.

 

 

그리고 다시 젠킨스로 돌아와 dash보드로 와서 DEPLOY_TEST_01을 클릭하고 지금 빌드를 눌러 준다.

 

 

빌드 #3을 눌러 CONSOLE OUTPUT을 눌러 모두 완료 됐으면 PUTTY 로 가서 ps -lef |grep java 로 확인해본다.

현재 jar 의 포트번호가 5975 인 것을 확인하고 다시 대시보드로 와서 위와 같이 똑같이 실행시켜준다.

 

 

지금 빌드를 눌러 #4를 클릭해 console output을 눌러 실행을 끝내고 다시 putty로 가서 ps -lef |grep java로 확인해서 jar의 포트번호가 달라지면 된 것이다.

 

5975 에서 6212로 변경됐다.