EtoC
사용하지않는 Jenkins 종료 및 삭제 본문
포트폴리오를 만들어야해서 이전에 했던 프로젝트를 실행하니 아래와 같이 떴다.
CLI로 종료해도 계속해서 자동으로 실행된다.
ᐅ lsof -i TCP:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 4501 sj 9u IPv6 0x15... 0t0 TCP localhost:http-alt (LISTEN)
ᐅ kill -9 4501
ᐅ lsof -i TCP:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 44362 sj 9u IPv6 0x9a4... 0t0 TCP localhost:http-alt (LISTEN)
ᐅ kill -9 44362
ᐅ lsof -i TCP:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 44937 sj 9u IPv6 0x9ee... 0t0 TCP localhost:http-alt (LISTEN)
불현듯 떠오른 Jenkins... localhost:8080에 접속해보았다.
접속해보니 Jenkins가 나타남.
진짜 Jenkins가 문제인지 확인하기위해 다시 확인.
ᐅ sudo lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 46824 sj 9u IPv6 0x4c.. 0t0 TCP localhost:http-alt (LISTEN)
ᐅ ps -p 46824
PID TTY TIME CMD
46824 ?? 0:07.70 /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home/bin/java -jar /opt/homebrew/Cellar/
ᐅ ps aux | grep jenkins
sj 47609 0.0 0.0 410750 1632 s020 S+ 11:16PM 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox jenkins
sj 46824 0.0 0.9 420004 1571.. ?? S 11:14PM 0:08.00 /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home/bin/java -jar /opt/homebrew/Cellar/jenkins/2.468/libexec/jenkins.war --httpListenAddress=127.0.0.1 --httpPort=8080
맞다 맞아.
네이버클라우드에 계정도 반납되서 삭제된줄 알았는데 localhost:8080 사용중인거보니 너무 괘씸하다
근데 NCP 계정 접속도 안되고 Jenkins 비밀번호가 기억나지않는데 어떻게 종료하지?;;
graceful shutdown 으로 Jenkins 종료하기
검색해보니 graceful shutdown이라는 안전하게 종료하는 방식이 있었다.
1. Jenkins 관리 페이지에서 Prepare for Shutdown 버튼을 눌러 Graceful Shutdown
새로운 빌드를 시작하지 않고, 현재 진행 중인 빌드가 모두 완료되면 Jenkins를 종료된다.
2. 커맨드 라인으로 Graceful Shutdown
java -jar jenkins.war --httpPort=8080 --httpListenAddress=127.0.0.1 --httpDoShutdown
하지만 난 비밀번호를 몰라서 위의 방법은 무리다!
brew로 Jenkins 종료하기
1. Homebrew로 실행중인 프로세스 확인
brew services list
2. Homebrew로 종료하기
brew services stop jenkins-lts
3. 재부팅시 자동실행 방지
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
위처럼 하면 종료된다는데 나는 docker로 Jenkins를 실행해서일까 Homebrew로 종료할 수 없었다.
나에게 이제 선택권은 삭제뿐이다.
Jenkins 삭제하기
1. Jenkins 설치 경로 확인하기
which jenkins
내컴퓨터에 Jenkins는 /opt/homebrew/bin/jenkins 경로에 설치되어있었다.
brew info jenkins-lts
==> jenkins-lts: stable 2.452.3 (bottled)
Extendable open source continuous integration server
https://www.jenkins.io/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/j/jenkins-lts.rb
License: MIT
==> Dependencies
Required: openjdk@21 ✘
==> Caveats
Note: When using launchctl the port will be 8080.
To start jenkins-lts now and restart at login:
brew services start jenkins-lts
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/openjdk@21/bin/java -Dmail.smtp.starttls.enable\=true -jar /opt/homebrew/opt/jenkins-lts/libexec/jenkins.war --httpListenAddress\=127.0.0.1 --httpPort\=8080
==> Analytics
install: 3,233 (30 days), 9,384 (90 days), 34,872 (365 days)
install-on-request: 3,233 (30 days), 9,385 (90 days), 34,870 (365 days)
build-error: 0 (30 days)
2.서비스 정지후 종료하기
ᐅ brew services stop jenkins-lts
Warning: Service `jenkins-lts` is not started.
ᐅ brew uninstall jenkins-lts
Error: No such keg: /opt/homebrew/Cellar/jenkins-lts
? 왜 없다고 뜨는거지?
ᐅ brew list --cask
another-redis-desktop-manager mysqlworkbench powershell
진짜 없네?
근데 왜 jenkinsr가 아직도실행되고있는걸까..
ᐅ sudo kill -9 1688
Password: 비밀번호입력
ᐅ brew uninstall jenkins
Uninstalling /opt/homebrew/Cellar/jenkins/2.468... (9 files, 92.5MB)
==> Autoremoving 2 unneeded formulae:
little-cms2
openjdk@21
Uninstalling /opt/homebrew/Cellar/openjdk@21/21.0.3... (601 files, 331.3MB)
Uninstalling /opt/homebrew/Cellar/little-cms2/2.16... (23 files, 1.4MB)
ᐅ sudo rm -rf /opt/homebrew/Cellar/jenkins
ᐅ ps aux | grep jenkins
sj 18761 0.0 0.0 410733264 1488 s002 S+ 12:10AM 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox jenkins
sj 17678 0.0 3.4 420020576 569360 ?? S 12:09AM 0:10.59 /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home/bin/java -jar /opt/homebrew/Cellar/jenkins/2.468/libexec/jenkins.war --httpListenAddress=127.0.0.1 --httpPort=8080
무한반복..;;;
음 ..아예 Jenkins관련 파일들을 다 삭제해보자
1. Jenkins와 관련된 모든 파일을 찾아 삭제
sudo find / -name '*jenkins*' -print
위 명령어를 입력하고 좀 많이 기다려야한다.
2. Homebrew 업데이트 및 상태 체크
brew update
brew doctor
3. jenkins가 남아있는지 확인
brew list | grep jenkins
이야 없다 없어!
4. 재부팅하기
sudo reboot
성공!
나중에 Jenkins 사용할 일이 있으면 공부겸 다시 설치해보기로~
이제 포폴 만들어야지..