프로젝트가 끝나고 시간이 꽤 지나서, 기존 프로젝트 레포를 Fork한 뒤 유지보수 작업을 진행했다.
GitHub - helloalpaca/AdminHanaERP: 디지털 하나로 2차 과제 - JSP 금융 ERP
디지털 하나로 2차 과제 - JSP 금융 ERP. Contribute to helloalpaca/AdminHanaERP development by creating an account on GitHub.
github.com
pom.xml 수정 및 사용안하는 .jar 라이브러리 삭제
- ojdbc6 의존성 패키지를 인식하지 못하는 오류가 발생해서, 기존 WEB-INF/lib에서 불러오는 코드를 제거하고 maven에서 다운받도록 수정
- 사용하지 않는 .jar 라이브러리들을 WEB-INF/lib에서 삭제해서 불필요한 파일 공유 및 용량 낭비를 줄였다.
Dockerfile 작성
- ubuntu 최신 이미지를 base로 해서
- java 설치
- 프로젝트 빌드를 위한 maven 설치
- 톰캣 다운로드를 위한 wget 설치
- 톰캣 다운로드 및 경로 수정
- 레포 다운로드 + 빌드 + 경로 수정
- DB 접속정보 수정
- 환경변수 추가
- 톰캣 실행
등의 순서로 Dockerfile을 작성했다.
FROM ubuntu:latest
# 패키지 목록 업데이트
RUN apt-get update
# Java 설치
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y openjdk-11-jdk
# Maven 설치
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y maven
# wget 설치
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y wget
# 톰캣 다운로드 + 압축 풀기 + 디렉토리를 /tmp아래로 변경
RUN wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz
RUN tar xvf apache-tomcat-9.0.75.tar.gz
RUN mv apache-tomcat-9.0.75 /tmp
# Git 설치
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y git && \
apt-get clean
# 작업 디렉토리 이동
WORKDIR /tmp/apache-tomcat-9.0.75/webapps
# 프로젝트 소스 다운로드
RUN git clone https://github.com/helloalpaca/AdminHanaERP.git erp
# 리포지토리 디렉토리로 이동 + 빌드 명령어 + 파일 이동(webapps 바로 아래로 변경)
WORKDIR /tmp/apache-tomcat-9.0.75/webapps/erp
RUN mvn clean install
WORKDIR /tmp/apache-tomcat-9.0.75/webapps/erp/target
RUN mv addmin-hana-1.0-SNAPSHOT ../../addmin-hana
# DB 접속 정보 context.xml에 추가
RUN sed -i 's|<Context>|<Context>\n <Resource\n maxActive="100" maxIdle="20" maxWait="10000"\n username="admin_hana" password="1234"\n url="jdbc:oracle:thin:@localhost:1521:XE"\n auth="Container"\n type="javax.sql.DataSource"\n driverClassName="oracle.jdbc.OracleDriver"\n name="jdbc/oracle"\n closeMethod="close" />|' /tmp/apache-tomcat-9.0.75/conf/context.xml
# 환경변수 설정 추가
WORKDIR /
RUN echo 'export JAVA_HOME=/lib/jvm/java-11-openjdk-amd64' >> /etc/profile
RUN echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
RUN echo 'export CATALINA_HOME=/tmp/apache-tomcat-9.0.75' >> /etc/profile
# Tomcat 서비스 시작
WORKDIR /tmp/apache-tomcat-9.0.75/bin
CMD ["./catalina.sh", "run", ">", "catalina.log"]
챗지피티의 도움을 많이 받았다. 이번 작업을 하면서
- DEBIAN_FRONTEND=noninteractive
- apt-get install에서 -y옵션
- apt-get clean
- sed 명령어
등 많은 명령어를 익힐 수 있었다.
'backend' 카테고리의 다른 글
[MySQL] 데이터베이스, DBMS (1) | 2023.11.06 |
---|---|
[IntelliJ] 모노레포 전략 (0) | 2023.09.27 |
[IntelliJ] 프로젝트 코드 라인 수 계산해주는 플러그인 Statistic (0) | 2023.08.24 |
[SpringBoot] 유효성 검증 2 - 예외 처리 (1) | 2023.08.23 |
[SpringBoot] 유효성 검증 1 - @Valid (1) | 2023.08.22 |