Backend · Infra

[Jenkins] Linux에 jenkins 설치 2

devhyen 2024. 7. 29. 14:44
👑 목차 🎀
    반응형
    📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.

    기존 java가 8버전으로 설치되어있어서 이전 버전 jenkins로 설치는 완료했으나,

    플러그인 호환문제가 발생하였다. 

     

    JAVA_HOME을 바꾸지 않고 jenkins에서만 java 17버전을 설정해서 사용하는 방법으로 재설치 하였다. 

     

    기존 jenkins 삭제 

    # jenkins 서버 중지
    systemctl stop jenkins
    
    # 서비스 제거 
    systemctl disable jenkins
    
    # jenkins 삭제
    yum remove jenkins
    
    # 관련 파일 모두 삭제 
    rm /etc/init.d/jenkins
    rm -rf /var/lib/jenkins
    rm -rf /etc/yum.repos.d/jenkins

     

    Open JDK 17 설치

    CentOS7 에서는 yum 으로는 open JDK 11 까지만 지원이 되기 때문에 아래의 방법으로 설치해야 한다.

    # 압축파일 다운로드 
    cd /tmp
    ### Linux 64-bit ###
    wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
    
    # 압축 해제
    tar -xvf openjdk-17.0.2_linux-x64_bin.tar.gz
    
    # 폴더 이동
    mv jdk-17.0.2/ /opt/jdk-17/

     

    Jenkins 설치

    sudo wget -O /etc/yum.repos.d/jenkins.repo \
        https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
    sudo yum upgrade
    # Add required dependencies for the jenkins package
    sudo yum install fontconfig java-17-openjdk
    sudo yum install jenkins
    sudo systemctl daemon-reload

     

    서비스 파일 수정

    open JDK 17을 사용ㄴ하도록 Jenkins 서비스 파일을 수정해야한다. 

    경로는 일반적으로

    /etc/systemd/system/jenkins.service 

    또는 

    /usr/lib/systemd/system/jenkins.service 에 위치한다. 

    vi 명령어로 해당 파일에 접근한 뒤 

    [Unit]
    Description=Jenkins Continuous Integration Server
    After=network.target
    
    [Service]
    Environment="JAVA_HOME=/opt/jdk-17"
    Environment="JENKINS_HOME=/var/lib/jenkins"
    ExecStart=/usr/bin/java -Djava.awt.headless=true -jar /usr/lib/jenkins/jenkins.war
    User=jenkins
    Group=jenkins
    Restart=always
    SuccessExitStatus=143
    
    [Install]
    WantedBy=multi-user.target

    위 코드처럼 JAVA_HOME 문장을 추가해주고 저장한다. 

     

    jenkins 시작

    sudo systemctl daemon-reload
    sudo systemctl enable jenkins
    sudo systemctl start jenkins
    sudo systemctl status jenkins
    반응형

    'Backend · Infra' 카테고리의 다른 글

    [Jenkins] pipeline 작성하기  (0) 2024.08.05
    [Jenkins] 빌드로 가는 과정  (0) 2024.07.30
    [Jenkins] Linux에 jenkins 설치  (0) 2024.07.26
    [ElasticSearch] Paging  (0) 2024.07.22
    [Error Log] Java High Level REST Client 6.3  (0) 2024.07.17