USECASE-3(GIT,Maven,Jenkins, Docker, Tomcat 통합)
여기 오기 전에 usecase-2를 시청하세요.
이 사용 사례에서 배우게 될 내용:
IT 직원으로서 우리는 많은 영역(코딩, 지원, 인프라)에서 작업하지만 새로운 서비스를 온보딩하는 동안 코드가 프로덕션에 정확히 어떻게 배포되는지 알지 못합니다. 요구사항을 프로덕션에 온보딩할 수 있는 많은 가능성이 있습니다. 이 사용 사례는 코드를 프로덕션에 배포하는 방법 중 하나를 설명합니다.
이 비디오에서는 문제를 해결하는 방법도 설명했습니다. 이 녹화가 완료된 후 문제 해결 없이 다른 동영상을 녹화했습니다. 하지만 사람들은 실수를 바로잡는 방법도 배워야 한다고 생각합니다. 그래서 저는 이 영상을 올리는 것을 선호했습니다. 계속 실패하고 자세히 알아보기
단계
- 1단계: Jenkins, Maven, GIT 및 Tomcat을 설치합니다(usecase-2를 시청하세요).
- 2단계: 도커 설치
- 3단계: jenkins에 Docker 정보 추가
- 4단계: jenkins 서버와 Docker 서버 간에 ssh 키 교환
- 5단계: 젠킨스 작업 생성
- 6단계: 웹 애플리케이션 액세스
이전 동영상(Jenkins, Maven 및 Tomcat 설치 방법)을 시청하고 동일한 저장소에 있는 문서 첨부 파일을 따르십시오.
Jenkins, maven 및 tomcat이 준비되면
2단계: 도커 설치
EC2 인스턴스에 도커 설치 및 서비스 시작
yum install docker
service docker start
아래 지침을 주의 깊게 따르십시오.
useradd dockeradmin
passwd dockeradmin
usermod -aG docker dockeradmin
visudo
dockeradmin ALL=(ALL) NOPASSWD: ALL (add dockeradmin user after root)
vi /etc/ssh/sshd_config ( disable --> PasswordAuthentication no & enable PasswordAuthentication yes )
service sshd restart
mkdir /opt/docker
chown -R dockeradmin:dockeradmin /opt/docker/
vi Dockerfile
From tomcat:9-jre9
# Maintainer
MAINTAINER "cloudnloud"
# copy war file on to container
COPY ./webapp.war /usr/local/tomcat/webapps
Jenkins 콘솔에 로그인하고 Docker 서버를 추가하여 Jenkins에서 명령을 실행합니다.
Jenkins 관리 → 시스템 구성 → SSH를 통해 게시 → Docker 서버 및 자격 증명 추가 추가 클릭 SSH 서버 : dockerhost 호스트 이름: 서버 IP(공용 IP) 사용자 이름: dockeradmin 고급 클릭 비밀번호 활성화 비밀번호: dockeradminpassword 제공
4단계: jenkins 서버와 Docker 서버 간에 키 교환
dockeradmin 사용자로 jenkins에 로그인
ssh-keygen
ls -a cd .ssh/ ssh-copy-id IPADDREE(두 번째 서버 IP 주소)
(도커 서버와 젠킨스 서버를 연결하려면(제닌킨스 서버에서는 junekins, tomcat, git을 모두 설치합니다)
5단계: 젠킨스 작업 생성
Jenkins 작업 만들기
작업 생성 → maven 프로젝트 →
A) 소스 코드 관리 저장소 :https://github.com/veejee2331/webapplication빌드할 브랜치 : */main
B) 루트 POM 빌드: pom.xml 목표 및 옵션: 클린 설치 패키지
C) 사후 단계 → 사후 빌드 단계 추가 → 선택
SSH를 통해 파일 보내기 또는 명령 실행
이름: docker_host 소스 파일: webapp/target/*.war접두사 제거: webapp/target원격 디렉터리://opt//docker
실행 명령:
docker stop cloundnloud_demo;
docker rm -f cloundnloud_demo;
docker image rm -f cloundnloud_demo;
cd /opt/docker;
docker build -t cloundnloud_demo .
SSH를 통해 파일 보내기 또는 명령 실행
이름: docker_host 실행 명령:
docker run -d --name cloundnloud_demo -p 8090:8080 cloundnloud_demo
F) Jenkins 작업 실행
G) Docker 호스트에서 이미지와 컨테이너를 다시 확인합니다. 이번에는 이미지와 컨테이너가 Jenkins 작업을 통해 생성됩니다.
6단계: 웹 애플리케이션 액세스
컨테이너에서 실행 중인 브라우저에서 웹 애플리케이션에 액세스
http://<docker_host_Public_IP>:8090/uri

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































