본문 바로가기

전체 글

Jenkins 빌드 파일 다른 서버에 배포(maven,war) ssh server 설치및 설정https://blog.yougeun.com/147 docker ssh server 설치 및 설정1.docker ssh image 다운로드 docker pull edowon0623/docker 리눅스 기반 서버에 docker와 ssh서버가 설치되어있는 이미지를 다운받아줍니다. 2. docker 실행 docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:80blog.yougeun.com 1.SSH 플러그인 설치 Publish over SSH plugin을 Jenkins에 설치해줍니다.2. jenkins 관리 -> System Configration -> System -> Publish over SSH 추가.. 더보기
Jenkins Poll SCM설정 Build Periodically 와 Poll SCM 차이점 1. Build Periodically 파일에 변경이 없어도 빌드된다 2.Poll SCM 파일에 변경이 있을 때만 빌드된다. 1.Poll SCM 추가 빌드 유발(Build triggers)에 Poll SCM에 Cron식인 H/10 * * * *(매 10분마다) 을 추가한다. 기존의 Cron식은 */10 * * * * 이지만 위의 식 H/10 * * * *을 쓸 경우 매 십분 (ex 00,10,20,30,40,50)으로 실행되는 것이 아니라 랜덤한 십분(ex 02,12,22,32,42,52)으로 실행되어 서버에 과부하를 낮출 수 있다. 2.Poll SCM 확인 github에 Commit이 일어나면 Jenkins가 1번에서 정한 Cron식의 시간마.. 더보기
Jenkins tomcat설정(maven,war) version tomcat:9.x java 11 springboot 2.7.18 주의할점: springboot 3.x부터는 tomcat10버전 이상을 사용해야하지만 jenkins에서 tomcat9.x까지 밖에 지원을 안해줘서 springboot3.x로 배포할 경우 404 Error가 뜨는것을 확인했습니다. 1.tomcat plugin(Deploy to container) Jenkins에서 Deploy to container를 다운받아줍니다. 2.tomcat 설정 2-1.manager context.xml파일 변경 tomcat파일의 \webapps\manager\META-INF의 context.xml파일로 들어가 위의 내용을 주석으로 변경해줍니다. 2-2.host-manager context.xml파일 변.. 더보기
Jenkins git,maven,war 설정(maven,war) 1.Jenkins maven 설정 1-1.maven Integration 다운로드 maven Integration plugin을 다운로드 받아줍니다. 1-2.maven installations 등록 jenkins관리 -> Tools에서 maven Installations를 등록해줍니다. 2.Jenkins maven 프로젝트 생성 2-1 maven Item 생성 project이름을 입력하고 Maven project로 아이템을 생성합니다. 2-2 git 연동 소스코드 관리에서 git을 클릭하고 Repository URL과 Credentials를 설정해줍니다. Credentials 참고블로그 https://datacook.tistory.com/93 Github 개발자용 Secret key 발급 방법 (jenk.. 더보기
docker 명령어 1.docker run -d:현재 실행하고 있는 다른 콘솔에서 실행 -v:docker가 실행되고 있는 환경의 디렉토리와 docker내부의 디렉토리와 연결 -> docker내부에서 발생된 데이터는 docker가 삭제될 경우 데이터가 삭제되므로 연결이 필요하다. -p:container내부의 포트를 어떤 포트로 연결할것인지 설정 ex) -p a:b:container 외부에서 a포트를 사용하면 container의 b포트로 연결 --name: container 이름 설정 --privileged:시스템의 모든장치에 접근할 수 있으며 커널의 기능을 대부분 사용가능하다. 2.docker bash docker exec -it [container name] bash docker 내부의 bash 사용가능 3. docker .. 더보기
docker에 Jenkins 설치 및 설정하기 필수 SWDocker1.Jenkins설치docker pull jenkins/jenkins docker pull jenkins/jenkins 명령어를 통해 jenkins를 설치해준다. docker Jenkins dochttps://hub.docker.com/r/jenkins/jenkins Docker hub.docker.com2. Jenkins 구동docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 --restart=on-failure --name jenkins-server jenkins/jenkins:lts-jdk17-d:현재 실행하고 있는 다른 콘솔에서 실행 -v:docker가 실행되고 있는 환경의 디렉토리와 docke.. 더보기
MDC 및 로그레벨에 따른 로그파일 분리 (1) 문제점 멀티쓰레드 환경에서 동시에 요청이 처리되기 떄문에 동일한 요청에 대한 로그가 연속적으로 쌓이는 것이 아니라 처리된 순서대로 로그가 쌓이는것을 볼 수 있다. 만약 서비스에 문제가 생겨 로그파일을 보려고 할때 쉽게 문제를 찾기 위해서는 동일한 요청을 분리하는 작업이 필요하다. 위의 문제를 해결하기위해서는 요청별로 고유의 값을 부여하고 로그에 함꼐 출력한다면 동일한 요청을 분리하는 작업이 매우 간단해 질 것이다. (2) MDC를 이용한 해결방안 1. MDC란 MDC(Mapped Diagnostic Context)는 현재 실행중인 쓰레드에 메타 정보를 넣고 관리하는 공간이다. MDC는 내부적으로 Map을 관리하고 있어 (Key, Value) 형태로 값을 저장할 수 있다. 메티 정보를 쓰레드 별로 .. 더보기
Pinpoint Cloud (1) PinPoint란? Java로 작성된 대규모 분산 시스템용 APM 도구 - APM: · Application Performance Management의 약자, 응용 소프트웨어의 성능과 서비스 가용성을 모니터링, 관리하는 도구 Transaction 추적을 제공 임계치를 설정하여, Event 발생시 SMS 또는 Email을 통해 알림을 받을 수 있다. (2) 버전 java 11 gradle 8.4 springboot 2.7.17 - java 17, springboot3.0 이상은 핀포인트로 서버 구동시 에러가 발생했습니다. (3) PinPoint 설정하기 1. 네이버 클라우드 플랫폼에서 콘솔에 들어 간 후 Management & Goverrace에 PinPointCloude에 들어갑니다. 2. Rep.. 더보기