티스토리 뷰

반응형

 

 

 



 

 

Jenkins

 

 

젠킨스 2.263 버전을 사용하던 서버에서 jdk 를 업데이트 하면서 문제가 발생했다.

해당 서버의 젠킨스는 tar 로 설치가 되어있었고, 젠킨스에 물려있는 JAVA_HOME 설정이 자바 버전명 입력이었다.

 

<jdks>
    <jdk>
      <name>java-1.8.0-openjdk</name>
      <home>/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64</home>
      <properties/>
    </jdk>
  </jdks>

 

해당 값에 링크값을 걸었으면 좋았으련만...

버전폴더째로 입력해놔서 jdk 가 버전업 되면서 jdk 디렉토리가 손실된 상태가 되었다.

 

 

여기서!

저 부분만 수정하고 끝냈으면 좋았으련만...

서버 관리 한답시고 젠킨스 업그레이드를 시도했다.

 

 

 

그리고 젠킨스 업데이트를 dnf 나 yum 으로 업데이트를 해왔지

저 버튼으로 시도해본건 처음.

 

사실 운영서버는 아니어서 호기심에 tar 설치판도 잘 되나 눌러보게 되었다.

 

 

 

 

 

대 실 패

 

 

 

 

 

 

내가 생각하는 실패 이유 로는

일단 젠킨스 최신버전은 jdk 11 을 요구한다.

해당 서버에는 jdk11 이 설치되어 있지 않아 실패했을 가능성 농후...

 

tar 설치판 설정이 고정되어 있던 점.

 

기존 설치판을 다시 재기동 해보려고 해도 아예 기동조차 되지 않았다 😂

 

 

 

 

 

 

 


그래서 기존 것을 두고 젠킨스를 새로 셋팅하여 job 을 이관하기로 했다.

 

 

일단 새로 설치했다.

 

 

[Jenkins] 리눅스에 젠킨스 설치하기. (feat.rockylinux)

리눅스에 dnf 명령어로 jenkins를 설치해보고자 한다. 리눅스 젠킨스 설치순서는 아래와 같이 진행하면 무탈하다 Java 11 이상 설치 Jenkins GPG Key 설치 rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-202

jong-bae.tistory.com

 

 

jdk 11 로  변경해줬다.

[root@localhost /]# alternatives --config java

3 개의 프로그램이 'java'를 제공합니다.

  선택    명령
-----------------------------------------------
   1           java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre/bin/java)
*  2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/jre/bin/java)
 + 3           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-1.el7_9.x86_64/bin/java)

 

 

기존 포트와 동일하게 변경 후 기동시켜서 일단 젠킨스 자체는 복구 기동 완료

필요한 플러그인들을 설치했고

 

이제 기존에 jobs 를 이관 해주기만 하면 된다.

 

cp -R /usr/local/jenkins2/jenkins_home/jobs/{item명} /var/lib/jenkins/jobs/

 

이후 젠킨스를 재기동하면 새로운 젠킨스에 기존 item 설정이 그대로 들어온다.

이제 여기서 빠진 부분들을 설정해 나가면 된다.

 

 

형상관리 계정설정 (git, svn 등)

빌드툴 설정 (maven, gradle, ant 등)

젠킨스내 jdk 설정

 

 

 

이제 설정 다했다 생각하고 젠킨스 빌드를 수행 해 봤다.

 

sh: /root/jenkins/script/shell_after_build.sh: 허가 거부
Build step 'Execute shell' marked build as failure
Finished: FAILURE

 

build step 에 있는 쉘이 허가 거부 되어 생각해보니

jenkins 계정으로 수행하는데 root에 접근 할수 없겠구나 생각했다.

 

그래서 기존 쉘의 위치를 옮기고 수행했더니 역시나 여러가지 파일 복사관련 문제점들이 발생...

 

 

그래서 기존 젠킨스와 비교해보니 애초에 모든걸 root 권한으로 진행하고 있었다.

 

젠킨스 유저/그룹을 root 로 변경하기로 했다..

젠킨스 서비스를 stop 하고 아래 설정을 변경해줬다.

 

[root@localhost system]# vi /usr/lib/systemd/system/jenkins.service

...
User=root
Group=root
...

 

 

 

 

젠킨스를 재기동하고 빌드를 수행했더니 성공적으로 수행하는 것을 확인했다.

BUILD SUCCESSFUL
Total time: 6 seconds
[EHR_JASENG_DEV] $ /bin/sh -xe /tmp/jenkins18159062648034749235.sh
+ sh /usr/local/tomcat9/bin/shutdown.sh
+ sleep 1
+ sh /home/jenkins/script/shell_after_build.sh
exists.
exists.
exists.
exists.
remove directory.
remove directory.
remove directory.
remove directory.
+ sleep 3
+ BUILD_ID=dontKillMe
+ /usr/local/tomcat9/bin/startup.sh
Tomcat started.
Finished: SUCCESS

 

 

 

땀 꽤나 삐질 흘렸다 😅

서버관리를 안한자의 최후랄까? 

 

 

 

 

 

 

 



 

 

 

반응형
댓글
반응형
최근에 올라온 글
«   2024/12   »
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
Total
Today
Yesterday