*이 글은 '초보를 위한 젠킨스 2 활용 가이드' 책을 기반으로 작성되었습니다.*
자바 설치
우선 패키지 업데이트 후 JRE를 설치한다.
sudo apt-get update # 패키지 업데이트
sudo apt-get install default-jre # JRE 설치
다음은 JAVA_HOME
환경 변수 설정 과정이다.
update-java-alternatives -l # 설치된 자바 목록과 설치 경로 (경로 복사하기)
sudo nano \etc\environment # 환경설정 파일 열기
그 후 맨 아래 줄에 복사해 둔 자바 경로를 다음과 같은 형식으로 추가하면 된다. JAVA_HOME="{자바 설치 경로}"
그리고 Ctrl + X
와 Ctrl + Y
를 눌러 파일을 저장하고 닫은 후,source \etc\environment
명령어를 통해 변경사항을 적용한다.
아파치 톰캣 설치
cd /tmp
명령어로 /tmp
폴더로 이동 후 wget 명령어를 통해 톰캣을 다운로드한다.
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.16.tar.gz
sudo mkdir /opt/tomcat
명령어로 /opt/tomcat
폴더 생성 후 해당 경로에 압축 파일을 해제한다.
sudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
sudo nano /etc/systemd/system/tomcat.service
로 systemd 서비스 파일을 생성한 후,
다음 내용을 복사한다.
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME={자바 경로}
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M-Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStart=/opt/tomcat/bin/shutdown.sh
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
잘 입력 했으면 다음 과정을 통해 잘 적용 됐음을 확인한다.
sudo systemctl daemon-reload # system daemon 변경 사항 적용
sudo systemctl start tomcat # 톰캣 서비스 실행
sudo systemctl status tomcat # 톰캣 서비스 상태 확인
다음과 같은 결과가 나타나면 된다.
방화벽과 8080 포트 활성화
아파치 톰캣은 8080 포트를 이용해 동작한다.
방화벽이 비활성화 되어 있다면 다음 명령으로 활성화 시킬 수 있다.
sudo ufw enable # 방화벽 활성화
sudo ufw allow 8080 # 8080 포트 열기
sudo ufw allow ssh # ssh 활성화로 ssh 연결 가능하게 설정
sudo ufw status # 방화벽 상태 확인
상태를 확인하면 결과는 다음과 같다.
아파치 톰캣 서버 설정
아파치 톰캣 관리자, 호스트 관리자 활성화
우선 tomcat-users.xml
파일을 연다.
sudo nano /opt/tomcat/conf/tomcat-users.xml
role과 user 관련 내용이 주석 처리되어 있을 텐데, 톰캣 관리자 앱 페이지에 접근하기 위해서는 이 두 가지를 활성화 시켜야 한다.
그 다음 rolename과 username, 그리고 password 부분을 적절하게 수정해 준다.
기본적으로 톰캣 관리자와 호스트 관리자 애플리케이션은 아파치 톰캣 서버를 통해서만 접근하게 되어 있다.
원격 머신에서 아파치 위에서 동작될 서비스를 관리하기 위해서는 이 제약을 해제해야 한다.
/opt/tomcat/webapps/manager/META-INF/context.xml
파일과/opt/tomcat/webapps/host-manager/META-INF/context.xml
파일을 열고, 다음과 같은 부분을 주석 처리하자.
모든 과정이 완료되었으면 톰캣 서버를 재시작한다.
sudo systemctl restart tomcat
v1. 아파치 톰캣 서버 위에 젠킨스 설치
/tmp
폴더로 이동 후 wget
명령어를 통해 젠킨스 앱을 다운로드한다.
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
unable to resolve host address
에러가 뜬다면, 다음 명령어를 수행한 후 다시 입력하면 된다.
(https://pk.jenkins.io/debian-stable/
참고)
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
최신 jenkins.war 파일이 잘 설치 됐으면, 해당 파일을 /opt/tomcat
폴더로 이동 후 폴더 내 파일을 살펴보자.
sudo mv jenkins.war /opt/tomcat/webapps/ # 파일 이동
sudo ls -l /opt/tomcat/webapps # webapps 폴더 내 파일 리스트
jenkin.war 파일을 webapps 폴더로 옮기면 jenkins 폴더가 자동으로 생성된다.
war 파일이 webapps 폴더로 이동되면 즉시 압축이 해제되는 포맷이기 때문.
아주 간단한 배포 행위라고 할 수 있다.
v2. 젠킨스를 아파치 톰캣 서버에 독립적으로 설치하기
젠킨스만을 위한 아파치 톰캣 서버 설정 과정이다.
/tmp
폴더로 이동 후 wget
명령어를 이용해 젠킨스 애플리케이션을 다운로드하고, 패키지의 이름을 ROOT.war
로 변경한다.
cd /tmp
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
sudo mv jenkins.war ROOT.war
root 사용자로 전환해 /opt/tomcat/webapps
폴더 내 모든 내용을 삭제한다.
sudo su -
cd /opt/tomcat/webapps
sudo rm -r *
ROOT.war
파일을 /opt/tomcat/webap
폴더로 이동시키면, ROOT 폴더가 자동으로 생성된다.
sudo mv /tmp/ROOT.war /opt/tomcat/webapps/
책에서는 이 방법과 같이 젠킨스만을 위해 서버를 할당하는 것을 권장한다고 한다.
젠킨스 홈 경로 설정
기본 설정으로는 jenkins_home
경로는 자동으로 /root/.jenkins/
로 설정되며, 여기에 젠킨스의 모든 설정 파일, 로그, 빌드 결과 등이 저장된다.
접근의 용이를 위해 홈 경로를 변경해보자.
sudo systemctl stop tomcat # 톰캣 서버 멈추기
sudo nano /opt/tomcat/conf/context.xml # context.xml 파일 열기
<Context>
와 </Context>
사이에 다음 내용을 추가한다.
<Environment name="JENKINS_HOME" value="/var/jenkins_home" type="java.lang.String"/>
톰캣 서비스를 다시 시작한다.
sudo systemctl start tomcat
'DevOps > Jenkins' 카테고리의 다른 글
[Jenkins] Docker Compose로 젠킨스 시작하기 (0) | 2024.03.04 |
---|