CI/CD 그대로 따라하기 2편

강재민·2022년 6월 7일
1

tomcat 접속

vagrant up
vagrant ssh jenkins

### 터미널 창 하나 더 열어서

vagrant ssh tomcat


tomcat 설치

tomcat터미널 창에서..
아래 명령어를 차례로 입력해준다.

sudo apt update
sudo apt install -y tomcat9 tomcat9-admin
systemctl status tomcat9


tomcat이 잘 설치된 것을 확인
ctrl+c를 눌러서 빠져나올 수 있다.


웹페이지 참조하는 파일 찾아보기

cd /var/lib/tomcat9/webapps/ROOT
ls
cat index.html

이때 보이는 index.html 파일이 tomcat이 읽어들이는 파일이다.


tomcat 웹페이지 접속해보기

크롬창에
192.168.59.11:8080
주소를 치고 들어가면..

아까 그 index.html파일을 읽은 웹페이지를 확인할 수 있다.


tomcat 관리자페이지 접속해보기

크롬창에 아래 주소로 접속을 해보면 관리자 페이지를 접속하기위한 아이디와 패스워드를 입력하라고 보인다.

http://192.168.59.11:8080/manager/html


하지만 우리는 아이디와 비밀번호를 설정해놓지 않았기 때문에 접속할 수가 없다.


tomcat 관리자 페이지에 아이디 패스워드 등록하기

터미널 tomcat에서..
아래 명령어를 입력한다.

sudo vi /etc/tomcat9/tomcat-users.xml

참고로 xml파일의 '<! -- 부터 -->까지는 주석이므로 그냥 설명문이다.

        <role rolename="manager-gui"/>
        <role rolename="manager-script"/>
        <role rolename="manager-jmx"/>
        <role rolename="manager-status"/>
        <user username="admin" password="P@ssw0rd" roles="manager-gui, manager-script, manager-jmx, manager-status"/>

이렇게 version="1.0"> 밑에 위 내용을 복사 붙여넣기 해준다.
해주고 esc + :wq로 저장하고 나오자.

아래 명령어를 통해 tomcat9의 변경사항을 재시작을 통해서 적용시켜준다.

sudo systemctl restart tomcat9

다시 크롬창에 아래 주소로 접속해본다.

http://192.168.59.11:8080/manager/html


사용자 이름은 admin
비밀번호는 P@ssw0rd

접속해보면 아래와 같은 관리자페이지가 뜬다


.war 파일 tomcat 가상머신에 옮기기

이제 tomcat에 아까 Maven으로 만든 .war 파일을 옮겨서 실행시켜볼 예정이다.
jenkins 터미널로 이동해서..

cp /var/lib/jenkins/workspace/test/webapp/target/webapp.war /tmp
scp /tmp/webapp.war 192.168.59.11:/tmp

### Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes

### vagrant@192.168.59.11's password:
vagrant

tomcat 터미널로 이동해서..
아래 명령어를 그대로 입력한다.

sudo mkdir /var/lib/tomcat9/webapps/ROOT/webapp
sudo cp /tmp/webapp.war /var/lib/tomcat9/webapps/ROOT/webapp/
ls /var/lib/tomcat9/webapps/ROOT/webapp/

### .war파일이 잘 옮겨진 것을 확인할 수 있다.

file /var/lib/tomcat9/webapps/ROOT/webapp/webapp.war

### unzip 패키지가 필요하다는 것을 확인할 수 있다.

sudo apt install unzip
sudo unzip /var/lib/tomcat9/webapps/ROOT/webapp/webapp.war -d /var/lib/tomcat9/webapps/ROOT/webapp/
ls /var/lib/tomcat9/webapps/ROOT/webapp/

### -d 옵션을 통해 압축을 해제할 위치를 정할 수 있다.

### webapp.war파일은 이제 사용하지 않으므로 rm 명령어를 통해 제거해준다.

sudo rm /var/lib/tomcat9/webapps/ROOT/webapp/webapp.war

새로 등록한 html파일에 접속해보기

크롬창에 아래 주소로 접속해본다.

http://192.168.59.11:8080/webapp/

cat /var/lib/tomcat9/webapps/ROOT/webapp/index.jsp

### 이 파일을 읽은것과 마찬가지이다.

jenkins로 자동화 하기전에 이전 내용 삭제

이제 jenkins를 활용해서 같은 작업을 해줄 텐데 그 전에 아까 실습했던 내용은 아래 명령어를 통해 지우자.

sudo rm -rf /var/lib/tomcat9/webapps/ROOT/webapp/
ls /var/lib/tomcat9/webapps/ROOT/

지워진거 확인


plugin 설치하기

젠킨스 홈페이지로 다시 돌아와서..
http://192.168.59.10:8080/

왼쪽 메뉴바에 jenkins 관리 클릭

오른쪽 플러그인 관리 클릭

상단 메뉴파에서 왼쪽에서 두 번째 설치 가능 클릭

오른쪽 상단에 searchcontainer라고 검색한다.

목록에서 Deploy to container를 찾아서 왼쪽 체크박스를 활성화한다.

왼쪽 아래의 Install without restart 클릭

대시보드로 이동하고..
새로운 Item클릭

이름은 Deploy-to-Tomcat-with-Maven으로 하고 Maven project를 클릭하고 왼쪽 아래에 OK를 클릭해준다.

소스코드 관리의 Git을 활성화 시켜준다.

https://github.com/re-Push/source-java-maven-hello-world
아래 입력한 URL은 내 리포지토리이고 실습하시는 분들은 본인의 Git 리포지토리 주소를 입력해주셔야한다.

master로 되어있는 부분을 main으로 변경해준다.

clean package를 입력해준다. 의미는 기존 내용을 지우고 package 하라는 뜻이다.

빌드 후 조치 추가를 클릭한다. 그리고 아까 설치한 플러그인 Deploy war/ear to a container를 클릭해준다.

그러면 이런 창이 뜨는데

아래표와 같이 설정해준다.

항목설정값
Deploy war/ear to a container WAR/EAR fileswebapp/target/webapp.war
Context path

그리고

Add Container 클릭

Tomcat 9.x Remote를 클릭해준다.

Add를 누르고 Jenkins 클릭

이런 화면이 나온다.

이렇게 설정해주고 Add클릭

항목설정값
Usernameadmin
PasswordP@ssw0rd
IDtomcat-admin

왼쪽 none부분을 클릭해서 admin/***으로 바꿔준다.

Tomcat URL부분도 아래와 같이 편집해준다.
http://192.168.59.11:8080

Apply 먼저 누르고 저장


작업공간과 생성된 파일 제거

작업공간 초기화선택 하고 확인

cd /var/lib/tomcat9/webapps/
ls

ROOT 디렉토리 빼고는 전부 지워주면 된다.

### rm -rf명령어를 통해 지울 수 있다.

sudo rm -rf webapp
sudo rm -rf webapp.war

ls


빌드해보기

Build Now를 클릭해서 지금까지 구성한 내용을 테스트해보자.


결과 확인

크롬창에 192.168.59.11:8080/webapp/ 으로 접근하면..

그리고 tomcat 가상머신에서..

cd /var/lib/tomcat9/webapps
ls


이렇게 잘 받아진 것을 확인할 수 있다.

0개의 댓글