반응형
젠킨스(Jenkins)의 WAR 파일 업데이트는 Jenkins를 수동 설치한 경우(예: WAR 파일로 직접 실행한 경우)에 필요한 작업입니다.
아래에 WAR 파일을 이용한 Jenkins 업데이트 방법을 순서대로 자세히 설명하겠습니다:
1. 현재 Jenkins 상태 백업
업데이트 전에 기존 데이터를 안전하게 보호하기 위해 백업을 수행합니다.
- 백업 대상:
- Jenkins 홈 디렉토리 ($JENKINS_HOME)
- 일반적으로 /var/lib/jenkins 또는 Jenkins 실행 시 명시한 경로에 있습니다.
- 구성 파일, 플러그인, 작업(Job) 데이터, 빌드 로그 등.
- Jenkins 홈 디렉토리 ($JENKINS_HOME)
- 백업 방법:
- Jenkins를 종료한 후 $JENKINS_HOME 폴더를 다른 디렉토리나 외부 스토리지로 복사합니다.
bash코드 복사sudo systemctl stop jenkins cp -r /var/lib/jenkins /backup/location/jenkins_backup
- Jenkins를 종료한 후 $JENKINS_HOME 폴더를 다른 디렉토리나 외부 스토리지로 복사합니다.
2. 최신 WAR 파일 다운로드
Jenkins 최신 버전을 다운로드합니다.
- Jenkins 공식 웹사이트로 이동합니다: Jenkins 다운로드 페이지
- "Generic Java package (.war)" 링크를 클릭하여 최신 WAR 파일을 다운로드합니다.
3. Jenkins 프로세스 중지
현재 실행 중인 Jenkins 서버를 종료합니다.
- 수동 실행한 경우:
실행 중인 Jenkins 프로세스를 종료합니다. -
bash코드 복사ps aux | grep jenkins kill -9 <PID>
- 서비스로 실행한 경우:
시스템 서비스로 관리 중이라면 아래 명령으로 중지합니다. -
bash코드 복사sudo systemctl stop jenkins
4. WAR 파일 교체
다운로드한 최신 jenkins.war 파일을 기존 파일로 교체합니다.
- 기존 파일 위치 확인:
Jenkins를 실행했던 폴더에 이전 jenkins.war 파일이 있습니다. 예: /usr/share/jenkins/jenkins.war 또는 실행 디렉토리. - 파일 교체:
기존 jenkins.war 파일을 백업하고 새로운 파일로 교체합니다. -
bash코드 복사mv /path/to/old/jenkins.war /path/to/old/jenkins.war.bak cp jenkins.war /path/to/old/jenkins.war
5. Jenkins 재시작
교체한 최신 WAR 파일로 Jenkins를 다시 시작합니다.
- 수동 실행:
bash코드 복사java -jar /path/to/jenkins.war
- 서비스로 실행:
bash코드 복사sudo systemctl start jenkins
6. 업데이트 확인
- Jenkins 웹 UI에 접속합니다.
일반적으로 브라우저에서 http://<서버주소>:8080으로 접근합니다. - Jenkins 버전을 확인합니다.
- Jenkins 대시보드에서 "관리" > **"시스템 정보"**로 이동하여 업데이트된 버전을 확인합니다.
7. 플러그인 업데이트
WAR 파일 업데이트 후, 플러그인 호환성을 유지하려면 플러그인도 최신 버전으로 업데이트합니다.
- Jenkins UI에서 "관리" > **"플러그인 관리"**로 이동합니다.
- "업데이트 가능" 탭에서 모든 플러그인을 선택하고 업데이트를 실행합니다.
8. 문제 발생 시 복구
- Jenkins 실행에 문제가 발생하면, 이전에 백업한 파일로 복구합니다:
bash코드 복사sudo systemctl stop jenkins rm -r /var/lib/jenkins cp -r /backup/location/jenkins_backup /var/lib/jenkins sudo systemctl start jenkins
이 과정을 완료하면 Jenkins와 관련 플러그인이 최신 상태로 유지됩니다.
필요한 경우 새 버전 릴리스 노트를 확인하여 추가적인 변경 사항을 파악하는 것도 추천합니다.
반응형
'[AWS-FRF] > CICD' 카테고리의 다른 글
[중요][AWS][터널링] 크롬/엣지 http - https 자동강제 전환(리다이렉트)해제 방법!! (63) | 2024.12.04 |
---|---|
[참고][AWS][Jenkins] 젠킨스 버전 업데이트하기 (feat.rockylinux) (7) | 2024.11.19 |
[참고][AWS] Sonarqube Ruleset import, export 하기!! (52) | 2024.10.08 |
[중요][AWS][정적분석도구] SonarQube란? (61) | 2024.10.08 |
[중요2][AWS][JENKINS] HOW TO PUSH WAR FILE TO S3 BUCKET THROUGH JENKINS !! (젠킨스 S3 IAM 정책 설정 포함) (20) | 2024.09.19 |
[중요][AWS] ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml 해결!! (15) | 2024.09.13 |
[중요][AWS] npm ERR! Missing script: "build:dev" 에러 해결!! (14) | 2024.09.13 |
[중요][AWS] 젠킨스 Build step 'Invoke Gradle script' marked build as failure 에러 발생 해결!! (14) | 2024.09.13 |
댓글