CentOS 7 기준 Problem. 무중단 배포 시 배포 주체가 되는 root가 아닌 user가 nginx의 프록시 포트 변경 후 nginx를 reload 해야하는데 sudoer에 무작정 추가하면 root나 다름 없으니.. 다른 방법이 필요 (스크립트 파일을 사용하여 자동화를 목적으로 하기 때문에 패스워드 입력 없이 가능하도록 해야함) Solution...
Problem 서로 다른 여러 서버에 jenkins 빌드 결과물을 배포해야하는데 현재는 모든 대상 서버에 배포 중.. 대상 서버를 선택해서 배포할 수 있어야 함 (무중단배포 적용 이전에 임시로 아주 잠깐의 기간동안 사용 예정 ㅡㅡ..) Solve 기존에 사용하던 git push event로 빌드를 시작하는 옵션을 해제하고 새로 추가된 패치용 시스템에 버튼...
Problem 누군가가.. 구현한 메이븐 프로젝트(java기반)가 내부적으로 main 클래스를 여러개 가지고 있고 모두 따로 빌드해야하는 경우... (그 누군가..는 이클립스에서 각 main 클래스 우클릭 export - runnable jar로 뽑아낸 jar 파일을 나에게 준다..) 그런데 나는 이 과정을 자동화해야한다.. (메인 시스템 빌드하는 젠킨스 ...
기존 서버에서 다른 서버로 시스템 이전에 사용 예정... postgresql database 백업 pg_dump --dbname=myDB --host=127.0.0.1 --port=5432 --username=myID --password --format=p --file=./myDB.sql option dbname: 대상 데이터베이스 이름 ho...
190430 Spring Boot 2.x 기준 개발 중에 DB 초기화를 자동으로 하기 위한 방법들? 1. JPA-Hibernate 고유 기능 사용 - spring.jpa.generate-ddl 속성 - true로 설정 시, Entity 어노테이션(@Entity)이 명시된 클래스를 찾아서 ddl을 생성하고 실행 - spring.jpa.hiberant...
190429 Problem 1. jdk 설치과정을 shell script file로 작성할 때 환경변수 세팅이 적용되지 않는 문제 원인: shell script file 실행 시 실행의 주체가되는 쉘 프로세스(현재 remote shell)가 새로운 sub shell 프로세스를 생성하여 sub shell 내에서 실행함 sub shell은 부모쉘(sub sh...
190425 배포 관련 프로젝트를 하다보니.. 쉘 스크립트 짤 일이 많네.. Bash Shell 2 > &1 0, 1, 2는 각각 표준입력, 표준출력, 표준에러 2>&1은 표준출력이 전달되는 곳으로 표준에러를 전달하라는 의미 "어떤 구문" > /dev/null 표준출력을 버리라는 의미 ex) if (ls -l $0 | grep $LOG...
외부 라이브러리 사용하는 경우 언제든 라이브러리 교체가 가능하도록 분리해둘것.. (이 시점까지도 라이브러리 교체는 없었지만..;) 라이브러리 유틸 구현체(라이브러리 유틸 참조 및 인터페이스 구현) 비즈니스 로직 인터페이스 190423 SFTP 파일 배포, SSH Command 실행부분의 jSch 라이브러리 사용 로직 통합 인터페이스를 사용하기엔 ...
190422 - 배포 테스트 환경(여러개 띄우고 초기 상태로 빨리 돌려야하는.. 그런 환경)으로 docker container가 편하더라.. Docker Container 1. Container - OS 가상화가 아닌 프로세스 격리 방법 - 리눅스 컨테이너(LXC)를 기반으로 시작 2. Image - 컨테이너 실행에 필요한 파...
190418 DDD(Domain Driven Design) Layered Architecturre(Seapration of Concern) UI - Application - Domain - Infrastructure 1) UI - 사용자한테 보여줄 화면 + 사용자 이벤트(Front) 2) Application - 업무 규칙이나 지식이 포함되...
190412 Q1. Autowired 어노테이션 붙인 서비스 인터페이스의 구현체가 여러개인 경우에는 어떤 구현체..? A1. Autowired를 처리할 때 Bean객체를 찾는 과정이 Type을 먼저 보고, 이후에 Qualifier로 지정된 id를 확인하여 의존성 주입함 ex) 읽어볼 자료.. 생성자 기반의 의존성 주입 Constructor...