전체 글
-
[Jenkins] gitlab authentication error: fatal: Authentication failed for http://~CICD 2022. 2. 10. 14:54
Jenkins에서 Gitlab repo를 pull 받아와서 build 하려고 하는데 authentication error가 났다. terminal에서 pull을 해보면 login을 하라고 나오고 해당 gitlab repo 아이디와 비밀번호를 치면 정삭적으로 pull 이 되는데 Jenkins에서 Git pull을 하면 login을 해줄 수 없기 때문에 다음과 같은 에러가 난다. Warning: CredentialId "root" could not be found. Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --force --progress -- http://192.168.158.12:9000/teespace/teespace-..
-
[Jenkins] Docker로 설치된 jenkins에 react 프로젝트 빌드를 위해 nodejs, npm, yarn 설치CICD 2022. 2. 10. 11:48
빌드 서버에 Jenkins를 Docker로 띄워서 사용 하던 중에 Jenkins Docker image가 완전히 날아갔다. 불행히도 백업을 해두지 않아서 기존에 사용하던 Jenkins 버전도 몰라서 기존의 볼륨 마운트해서 사용하던 jenkins_home 폴더에 최신 Jenkinks 버전 (2.333)을 받아서 재설치 하였다. Jenkins에는 Nodejs 플러그인도 있지만 기존 Jenkins 프로젝트에서 Excute shell 에서 yarn 명령어를 통해서 React 프로젝트를 빌드해 주었기 때문에 Jenkins Docker image에 nodejs, npm, yarn을 설치해 주어야 했다. Execute shell 에서 실행되는 명령어는 Docker image 안에서 실행되는 shell script라고..
-
[Spring] o.h.e.jdbc.spi.SqlExceptionHelper - JDBC-90611:Specified column name was not found. - column 에러Spring 2021. 12. 8. 16:21
문제 상황 - 사용하는 DB_TABLE 에는 NAME, AGE, ADRESS, GENDER, PHONE_NUMBER 5개의 컬럼이 존재 한다. - 스프링 프로젝트에서 JPA - nativeQuery를 사용해서 필요한 column 정보만 가져오게 하였다. @Query(value = "SELECT NAME, AGE, ADRESS FROM DB_TABLE WHERE NAME = :name", nativeQuery = true) public Entity getNameAgeAdress(@Param("name") String name); - 해당 메서드를 실행 하였더니 다음과 같은 오류가 발생하였다. 16:09 ERROR o.h.e.jdbc.spi.SqlExceptionHelper - JDBC-90611:Speci..
-
[백준 1712] 손익분기점알고리즘 2021. 11. 30. 11:16
문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다. A, B, C가 주어졌..
-
[Spring Logging] Slf4j - log4j2 사용 시 기존 logback, log4j 와 충돌 에러Spring 2021. 11. 29. 14:36
문제상황: -slf4j의 구현체로 log4j를 사용하다가 최신에 아파치에서 나온 멀티 스레드 환경에서 제일 성능이 좋은 log4j2를 사용하려고 하였다. -log4j2를 사용하기 위해 gradle.build에 다음과 같은 dependency를 추가 하였다. implementation 'org.springframework.boot:spring-boot-starter-log4j2' 그랬더니 프로젝트 내에 다른 구현체 (log4j와 logback)이 충돌이 발생했다. SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/C:/Users/Min/.gradle/caches/modules-2/files-2.1/or..
-
[Spring] Logging slf4j - log4j, logback, log4j2Spring 2021. 11. 29. 14:27
- 스프링에서 로깅을 할 때 Slf4j를 가장 많이 사용한다. Slf4j는 추상화된 로킹 프레임워크로 파사드 패턴으로 이루어진 인터페이스다. 따라서 구현체가 필요하다. - 구현체로는 Log4j, Logback, Log4j2 가 있다. -log4j가 초창기에 제일 많이 사용 되었으나 15년 개발이 중지 되었고 성능상 매우 느려서 logback이 대안으로 나왔다. -logback은 Springboot 환경에서 spring-boot-starter-web 안의 spring-boot-starter-logging 에 포함 되어 있기 때문에 다른 slf4j구현체를 사용하고자 한다면 gradle build시 spring-boot-starter-logging을 exclude 시켜 주어야 한다. -log4j2는 가장 최신..
-
Tomcat 에 Spring - Tibero 올리기CICD 2021. 11. 22. 15:05
docker hub에서 최신 tomcat9을 사용 (Debian 운영체제 기반) 1. /usr/local/tomcat/conf/server.xml 파일 설정 태그 사이에 해당 내용을 넣어준다. 2. /usr/local/tomcat/conf/context.xml 파일 설정 태그 사이에 해당 내용을 넣어준다. 3. 스프링 프로젝트 내에 /src/resources/conf/context-datasource.xml 파일 설정 (이 파일이 없으면 해당 경로에 생성) 파일 안에 해당 내용 추가 4. 스프링 프로젝트 내에 /src/resources/application.properties 파일 설정 파일 안에 해당 내용 추가 spring.datasource.url=jdbc:tibero:thin:@220.90.231...
-
[React] Ant Design 설치React 2021. 11. 3. 10:59
-Ant Desing (Antd)는 리액트에서 customize 하여 사용 할 수 있는 디자인 컴포넌트 인터페이스이다. -무료로 사용 할 수 있으며 다양한 컴포넌트를 제공해 준다. 설치 순서 1. 리액트 프로젝트를 생성해 준다. yarn create react-app {project name} // or yarn creat-react-app {project name} 2. 리액트 프로젝트에서 package.json에 antd를 추가해 준다. // npm 을 사용 할 경우 npm install antd // yarn 을 사용 할 경우 yarn add antd 3. src/App.css 에 antd/dis/antd.css 를 추가해 준다. @import '~antd/dist/antd.css'; 주의사항 설치..