AC 04/05 CI/CD Jenkins란?

Bae Seong Jun·2024년 4월 5일

Acorn academy

목록 보기
68/70

지금까지의 작업
1. 로컬프로젝트 작성 -> 로컬톰캣을 통한 테스트
2. 로컬 빌드 -> WAR 생성
3. AWS 톰캣 -> 배포 후 서비스

ci/cd =============
1. 로컬프로젝트 작성, 테스트 => GIT push
2. jenkins git pull, 테스트, 빌드 => war파일생성
3. aws 톰캣 : 자동배포

이후 push를 하면 자동 빌드,테스트, 배포까지 해줌


jenkins - 프로젝트 클릭 - 구성 -소스코드관리(git선택), */main으로 수정

지금빌드 -> 에러 -> 에러기록 올려두면 나오는 화살표 클릭 -> 콘솔아웃풋 -> 에러찾기(pom 경로 못찾는 문제)

구성 -> root pom 수정(프로젝트명/pom.xml) -> 저장 -> 지금빌드 -> 성공확인

콘솔아웃풋보기 -> 맨 아래로 내려가면 생성된 war 파일의 위치가 나옴
C:\ProgramData\Jenkins.jenkins\workspace\My-First-Project\boot13_MVC2_jsp_css_js_image\target

war파일 생성단계까지 완료


deploy to container 플러그인 설치

프로젝트 - 구성 - 빌드세팅 -빌드 후 조치 - Deploy war/ear to a container - c
톰켓관리자가 관리가계정에 대한 정보를 넣어줘야함 / 저장은 한번만 해야함 / 저장후 credential에서 선택

jenkins_work의 톰켓9가 실행되어야 지금빌드를 통한 배포가 가능
톰켓실행-지금빌드(빌드-테스트-배포)-/app접근
실행되고있는 톰켓을 기준으로 배포를 한다.

PUSH하면 지금빌드 자동실행하게하기?

구성 - 빌드 유발 - Poll SCM에 * * * * *
주의사항 : *는 전부 띄워쓰기하여 입력

그리고 이제 연동된 프로젝트를 push하면 지금빌드를 자동으로 실행하여 빌드-테스트-배포까지 해준다.

이제 aws에 배포되게하기

aws 인스턴스 시작
putty 실행 및 oracle 실행 (sudo docker ps -a -> sudo docker start oracle11)

aws 톰켓의 webapp 충돌날만한 프로젝트 파일 삭제
server.xml에 context 설정한거 있으면 막거나 삭제
포트설정, manager 설정

톰켓 실행 sudo ./startup.sh

프로젝트 push !

aws에 배포되었는지 확인

이제 작업중인 프로젝트를 깃허브에 push하면 자동으로 aws서버에 배포된다.

조건:
로컬-깃허브 연동
aws 구축 ()
jenkins 세팅

profile
코딩 프로?

0개의 댓글