# Debian/Ubuntu 에서 패키지 저장소 추가해서 설치하는 경우
# jenkins 접속 키 추가
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
# jenkins 저장소 위치 추가
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
# apt-get 갱신
sudo apt-get update
# jenkins 설치
sudo apt-get install jenkins
# jenkins.war 위치 파악
dpkg -L jenkins
#####
# Redhat/Centos 에서 rpm 패키지 다운받아 설치하는 경우
wget https://pkg.jenkins.io/redhat/jenkins-2.112-1.1.noarch.rpm
sudo rpm -ivh jenkins-2.112-1.1.noarch.rpm
# jenkins rpm 버전 업데이트시 다음과 같이 설치하면 현재 설치된 jenkins(서비스가 중지된 상태라도)와 충돌 에러가 발생한다.
sudo rpm -ivh jenkins-2.112-1.1.noarch.rpm
jenkins-2.112-1.1.noarch에서 설치되는 /etc/init.d/jenkins 파일은 jenkins-2.40-1.1.noarch 패키지의 파일과 충돌합니다
jenkins-2.112-1.1.noarch에서 설치되는 /etc/sysconfig/jenkins 파일은 jenkins-2.40-1.1.noarch 패키지의 파일과 충돌합니다
jenkins-2.112-1.1.noarch에서 설치되는 /usr/lib/jenkins/jenkins.war 파일은 jenkins-2.40-1.1.noarch 패키지의 파일과 충돌합니다
sudo rpm -ivh jenkins-2.112-1.1.noarch.rpm
jenkins-2.112-1.1.noarch에서 설치되는 /etc/init.d/jenkins 파일은 jenkins-2.40-1.1.noarch 패키지의 파일과 충돌합니다
jenkins-2.112-1.1.noarch에서 설치되는 /etc/sysconfig/jenkins 파일은 jenkins-2.40-1.1.noarch 패키지의 파일과 충돌합니다
jenkins-2.112-1.1.noarch에서 설치되는 /usr/lib/jenkins/jenkins.war 파일은 jenkins-2.40-1.1.noarch 패키지의 파일과 충돌합니다
# jenkins rpm 버전 업데이트시 rpm 옵션으로 -U(업그레이드)하면 된다.
sudo rpm -Uvh jenkins-2.112-1.1.noarch.rpm
# jenkins home 디렉토리 변경
sudo vi /etc/sysconfig/jenkins
JENKINS_HOME="/home/ysoftman/jenkinsdata"
sudo vi /etc/sysconfig/jenkins
JENKINS_HOME="/home/ysoftman/jenkinsdata"
# 기본 포트 변경시
sudo vi /etc/default/jenkins
HTTP_PORT=8080
sudo vi /etc/default/jenkins
HTTP_PORT=8080
# 서비스로 jenkins 구동
# 정지할때는 stop 옵션 사용
sudo service jenkins start
# 정지할때는 stop 옵션 사용
sudo service jenkins start
# 최신 OS 라면 systemctl 사용
sudo systemctl start jenkins
#####
# mac 에서 패키지로 설치하는 경우
# 설치
brew install jenkins
# 설치
brew install jenkins
# 실행
/usr/local/opt/jenkins/bin/jenkins 스크립트 파일에서 아래 명령을 실행한다.
java -jar /usr/local/opt/jenkins/bin/libexec/jenkins.war
/usr/local/opt/jenkins/bin/jenkins 스크립트 파일에서 아래 명령을 실행한다.
java -jar /usr/local/opt/jenkins/bin/libexec/jenkins.war
# 디폴트 JENKINS_HOME 디렉토리
cd $HOME/.jenkins
cd $HOME/.jenkins
#####
# .war 로 구동하는 경우
java -jar /usr/share/jenkins/jenkins.war
# 8080 포트를 이미 다른 프로세스가 사용하고 있다면 다음과 같은 에러 발생
Caused by: java.io.IOException: Failed to listen on port 8080
# 다른 포트를 사용하여 구동
java -jar /usr/share/jenkins/jenkins.war --httpPort=8888
#####
# 구동시 참고 사항
# 로그 위치
vi /var/log/jenkins/jenkins.log
vi /var/log/jenkins/jenkins.log
# 또는
https://127.0.0.1:8080/log/all
https://127.0.0.1:8080/log/all
# 접속해 보기
http://127.0.0.1:8080
# admin 패스워드는 다음 로그 파일에 기록되어있다.
# 로그 파일로 이 파일을 수정후 재시작해도 admin 패스워드는 변경되지 않았다.
cat /var/lib/jenkins/secrets/initialAdminPassword
# 암호 분실시 /var/lib/jenkins/config.xml 에서 다음과 같이 수정하여 재시작
<useSecurity>false</useSecurity>
# jenkins home, jenkins 서버 이전시 홈 디렉토리를 복사(백업/복구)하면 된다.
/var/lib/jenkins
/var/lib/jenkins
# job 설정은 다음 위치에 config.xml 파일로 저장된다.
/var/lib/jenkins/jobs/job이름/config.xml
/var/lib/jenkins/jobs/job이름/config.xml
# 재시작시 '곧 Jenkins가 종료될 예정입니다.' 메시지 후 재시작 되지 않을때
# /restart 페이지에서 바로 종료 할 수 있다. (rest api 참고)
http://127.0.0.1/restart
# /restart 페이지에서 바로 종료 할 수 있다. (rest api 참고)
http://127.0.0.1/restart