[Jenkins] AWS EC2 Download Tomcat & Jenkins

반응형

이번글에서는 AWS EC2에 Jenkins를 download 하고 tomcat 위에 올려보도록 하겠습니다.

0. EC2

이번글에서는 Amazon Linux EC2 인스턴스를 사용하도록 하겠습니다. 저는 windows 환경이므로 putty를 사용해 ec2 인스턴스에 접속했습니다.

image.png

최종적으로 EC2에 설치한 Tomcat은 8080 port로 접근할 것 이므로, 아래와 같이 Security Group에서 8080 port를 열어줍니다.

image.png

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' 파일을 열어 아래와 같은 부분을 주석처리해줍니다.

image.png

위 부분을 주석처리하지않으면, 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이 실행되었습니다.

image.png

이제 local 환경으로 돌아와 tomcat에 접속해보겠습니다. tomcat의 기본 port는 8080 이므로, 브라우저에 ':8080'를 입력해 접속합니다.

image.png

tomcat이 정상적으로 실행되고 있습니다. 이제 tomcat 위에서 jenkins가 작동되고 있는걸 확인해보겠습니다. ':8080/jenkins'로 이동합니다.

image.png

위와 같이 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]


추천서적

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

'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

댓글

Designed by JB FACTORY