[Jenkins] AWS EC2 Download Tomcat & Jenkins
- Jenkins
- 2020. 8. 21.
이번글에서는 AWS EC2에 Jenkins를 download 하고 tomcat 위에 올려보도록 하겠습니다.
0. EC2
이번글에서는 Amazon Linux EC2 인스턴스를 사용하도록 하겠습니다. 저는 windows 환경이므로 putty를 사용해 ec2 인스턴스에 접속했습니다.
최종적으로 EC2에 설치한 Tomcat은 8080 port로 접근할 것 이므로, 아래와 같이 Security Group에서 8080 port를 열어줍니다.
1. Download Java
먼저, Amazon Linux EC2의 default java version은 1.7이므로 이를 제거하고 1.8 version의 java를 다운로드 해줍니다. 아래와 같이 순서대로 명령어를 입력합니다.
download openjdk
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
change java version
sudo /usr/sbin/alternatives --config java
2 /* 사용할 jdk를 선택하면 됩니다 */
remove default java
sudo yum remove java-1.7.0-openjdk
자바 설치가 완료되었습니다. 다음으로 넘어가겠습니다.
2. Download Jenkins
이제 Jenkins를 아래와 같이 설치합니다.
update package
sudo yum update
download latest jenkins package
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
import a key file from jenkins-ci to enable installation from package
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
install jenkins
sudo yum install jenkins
설치가 완료되었습니다. 이제 아래의 명령어를 사용해 jenkins를 실행/종료 할 수 있습니다.
start jenkins
sudo service jenkins start
stop jenkins
sudo service jenkins stop
처음 실행한 Jenkins에 접속하기 위해서는 initialAdminPassword를 입력해야 합니다. 아래의 파일에서 password를 확인해 입력하면 됩니다.
/var/lib/jenkins/secrets/initialAdminPassword
3. Download Tomcat
이번에는 tomcat을 다운로드 해보겠습니다. 아래와 같이 순서대로 명령어를 입력합니다.
download tomcat pacakge
sudo su -
cd /opt
wget http://mirrors.fibergrid.in/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz
tar -xvzf /opt/apache-tomcat-8.5.35.tar.gz
mv apache-tomcat-8.5.35 tomcat
다운로드가 완료되었습니다 😎.
다음으로 '/opt/tomcat/webapps/manager/META-INF/context.xml'과 '/opt/tomcat/webapps/host-manager/META-INF/context.xml' 파일을 열어 아래와 같은 부분을 주석처리해줍니다.
위 부분을 주석처리하지않으면, tomcat의 manage tab은 tomcat을 실행하고 있는 서버에서 밖에 접근하지 못합니다.
다음으로 tomcat의 user를 추가해야합니다. '/conf/tomcat-users.xml' 파일을 열어 아래의 구문을 추가합니다.
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui, manager-script, manager-jmx, manager-status"/>
<user username="deployer" password="deployer" roles="manager-script"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
마지막 줄의 "username = tomcat"과 "password = s3cret"이 manager gui에서 사용할 user의 정보입니다.
4. Jenkins & Tomcat
마지막으로 tomcat 위에서 jenkins를 구동시켜보겠습니다.
jenkins는 내장 서버를 사용해 stand alone으로 구동할 수 도 있지만, tomcat 서버에 올려서 구동시키는게 더욱 효율적입니다.
tomcat 위에서 jenkins를 구동시키기위해선 아래와 같이 jenkins.war 파일을 /opt/tomcat/webapps 경로로 복사해주면 됩니다.
cp /usr/lib/jenkins/jenkins.war /opt/tomcat/webapps/jenkins.war
모든 설정이 완료되었습니다.
'/opt/tomcat/bin' 로 이동해 tomcat을 실행시켜보겠습니다.
start tomcat
./startup.sh
stop tomcat
./shutdown.sh
아래와 같이 tomcat이 실행되었습니다.
이제 local 환경으로 돌아와 tomcat에 접속해보겠습니다. tomcat의 기본 port는 8080 이므로, 브라우저에 ':8080'를 입력해 접속합니다.
tomcat이 정상적으로 실행되고 있습니다. 이제 tomcat 위에서 jenkins가 작동되고 있는걸 확인해보겠습니다. ':8080/jenkins'로 이동합니다.
위와 같이 login 창으로 redirect 되었습니다. UserName에는 'admin', Password에는 앞서 사용한 '/var/lib/jenkins/secrets/initialAdminPassword'의 비밀번호를 입력해 로그인하면 됩니다.
참고 자료 : [ https://www.youtube.com/watch?v=68WNroQBUts, https://www.youtube.com/watch?v=Fi9pgrMlQZY&list=PLhW3qG5bs-L_ZCOA4zNPSoGbnVQ-rp_dG&index=2, https://jojoldu.tistory.com/261 , https://www.youtube.com/watch?v=jmm8DsosBqw]
추천서적
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'Jenkins' 카테고리의 다른 글
[Jenkins] Jobs (0) | 2020.08.21 |
---|---|
[Jenkins] Basic Configurations (0) | 2020.08.21 |
[Jenkins] User & Role (0) | 2020.08.21 |
[Jenkins] CLI (0) | 2020.08.21 |
[Jenkins] Integrate with GitHub (0) | 2020.08.21 |