분류 전체보기 76

[CICD] 도커 - 젠킨스 파이프라인 스크립트

이틀 내내 삽질을 정말 많이 해서.. (하루는 환경변수 주입이 안 돼서 하루종일 환경변수 구글링만 함ㅜㅜ)기록용으로 현재 빌드 성공한 스크립트 및 설정을 적어두려고 한다. 환경변수 설정 할 때 '이 빌드는 매개변수가 있습니다' 설정에서 파라미터를 등록하라는 글이 있어서 따라해봤었는데, 결과적으로 잘 되지 않았다. 그래서 일단 젠킨스 자체에 시크릿 키를 등록해두고 해당 키들을 환경변수로 적용하는 방법을 사용했다.추후 더 좋은 방법이 있으면 적용할 생각이다. pipelinepipeline { agent any environment { IMAGE_NAME = "jenkins-server" CONTAINER_NAME = "cogroom-app" PORT = "80..

CICD 2025.06.11

[CICD] 도커 - 젠킨스 Unable to access jarfile /app.jar 오류 해결

CI CD를 위한 도커파일, 젠킨스 스크립트 작성 후 item을 실행시켜보니, 정상적으로 모든 stage가 작동하고 배포 완료 로그가 뜨는데도 서버 실행이 되지 않았다.이에 docker log를 확인하려고 했더니 Unable to access jarfile /app.jar 에러가 발생했다.jar 파일을 찾지 못해서 발생한 오류라고 한다. 가장 먼저 도커 상황을 확인했다.docker ps -a | grep cogroom-app잘 작동하고 있다. stage console output 을 확인했다.build가 잘 되었다고 뜬다. 구글링을 더 해본 후 답을 찾았다.Dockerfile에서 설정해둔 ENTRYPOINT의 jar 파일 경로를 읽어들이지 못해서 발생한 오류였다.Dockerfile의 ENTRYPOINT ..

CICD 2025.06.11

[백준] 28215: 대피소 (JAVA)

풀이너무 오랜만에 접한 알고리즘 문제 + 긴 지문으로 인해 시간이 좀 오래 걸렸다 .. 문제가 좀 헷갈리고 복잡해서 그렇지 사실 dfs를 적용할 수 있으면 간단하게 풀 수 있을 문제였다. 정답 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int N, K; static int[][] arr; static int minMaxDist = Integer.MAX_VALUE; // 가장 큰 거리값이 가장 작을 때의 거리 static int[] selected; // 선택..

알고리즘/백준 2025.04.07

[WebSquare5] 트리뷰(TreeView) 구현

https://docs.inswave.com/support/api/w5/5.0_1.2484A.20170126.120903/WebSquare.uiplugin.treeview/WebSquare.uiplugin.treeview.html WebSquare.uiplugin.treeview계층 구조를 가지는 데이터를 Tree형태로 출력하는 컴포넌트이다. 각 노드에 checkbox와 image(icon)를 넣을 수 있으며 TeeView 컴포넌트간 마우스의 Drag&Drop을 이용하여 Data(노드)를 주고 받을 수 있다.docs.inswave.com 공식문서에는 데이터를 어떻게 보내야 하는지 나와있지 않아서 좀 헤맸지만, 사실 간단하게 해결할 수 있었다.  [ label, value, depth ]  dataList..

WebSquare 2025.03.25

[SpringBoot] 파일 업로드 시 서버에 해당 파일이 즉시 적용되지 않는 문제 (정적 리소스 경로 설정)

지정된 폴더에는 파일 업로드가 되고 있는데, 서버에 즉각 반영이 되지 않고 재시작을 해야 반영되는 문제가 발생했다. 해결 방법@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/common/images/**") // URL 패턴 .addResourceLocations("file:src/main/resources/static/common/images/"); // 실제 리소스 경로 }}c..

Java/SpringBoot 2025.03.20

[SpringBoot] 게시글 검색, 삭제, 전시 순서 변경 API

1. 게시글 검색사진처럼 검색 조건이 카테고리, 기간(등록일시, 수정일시, 전시시작일시, 전시종료일시), 전시 여부(Y/N), 검색조건(등록자, 수정자, 내용, 제목) 까지 여러 개이기 때문에 mybatis의 동적 쿼리를 활용했다. dto@Getter@NoArgsConstructor@AllArgsConstructorpublic class PostListDto { private int postId; private int displayOrder; private String type; // 구분(일반/공지) private String category1; // category 1d private String category2; // category 2d private String..

Java/SpringBoot 2025.03.05

[SpringBoot] 게시판 DB 설계

프로젝트에 투입되면 사용할 툴일 WebSquare5, 웹스퀘어를 공부할 겸 게시판을 구현해보려고 한다. 1. PC 이미지 / 모바일 이미지 / 첨부파일2. 카테고리3. 전시 순서 이렇게 세 가지를 가장 고민을 많이 했다. 파일 저장자료를 찾아보고 프로젝트 DB도 살짝 보니까 파일을 저장할 때 보안상의 이유로 기존 파일명과 다르게 다른 이름으로 저장한다는 것을 알게 되었다.파일 확장자를 따로 뺀 설계도 있는 것 같지만 참여할 프로젝트 DB에서는 파일명에 한꺼번에 저장하고 있어 파일 확장자 컬럼을 따로 지정하지 않았다. 기획 상으로는 PC 이미지, 모바일 이미지, 첨부파일 모두 하나씩만 첨부가 가능하기 때문에 한 테이블에 모두 넣었다. 카테고리계속 하위 카테고리를 생성할 수 있는 경우에는 경로 열거 컬럼(e..

Java/SpringBoot 2025.02.27