젠킨스로 shell을 실행하려면 shell이 jenkins 권한 폴더에 있어야 하며, shell 파일도 jenkins 실행 권한이 있어야 함. 배포 프로젝트 root에 쉘을 넣고, 실행하길 권장. 젠킨스에서 빌드 진행 시 관리자 권한으로 실행이 필요한 경우가 있다. ex) sudo build_script.sh jenkins에 별다른 권한을 주지 않았다면 무조건 빌드 에러가 발생한다. ㅠㅠ 아래와 같이 관리자 권한을 주도록 하자 1. 관리자 권한 설정 파일을 연다. $ sudo gedit /etc/sudoers 2. jenkins에 관리자 권한을 제공하기 위해 아래의 내용을 추가 한 후 저장한다. jenkins ALL=(ALL) NOPASSWD: ALL P.S. 관리자 권한을 광범위 하게 제공하는것이 불안..
JDK와 Gradle 설정 빌드를 하기 위해서 JDK와 Gradle을 설정해야 합니다. 젠킨스 관리 페이지에 접속합니다. Jenkins 관리 -> Global Tool Configuration 에 들어갑니다. JDK 이름을 입력하고, 사용할 버전을 선택합니다. Oracle 계정을 입력하라고 나오면 oracle.com에 접속이 가능한 계정/비밀번호를 입력합니다. Git(Bitbuckt)을 아래 내용을 참고로 기본값을 입력하고, Gradle 이름을 입력 후 사용할 버전을 선택합니다. 로컬 개발에 사용하는 버전과 일치시키는 것이 좋겠죠. 제 경우에는 5.1.1 입니다. ❯ gradle -version Welcome to Gradle 5.1.1 혹시 빌드가 안되는 경우 아래와 같이 프로젝트에 기본으로 포함된 그..
Bitbucket은 소스관리를 위해 Private 저장소를 무료로 제공하는 서비스 입니다. 프로젝트를 팀단위로 진행하다보면 팀원들이 기능을 나눠 개발하게 되고 저장소에 푸시하게 됩니다. 그러면 이를 주기적으로 통합하고 빌드가 잘 이루어지를 확인할 필요가 있는데 이 때 젠킨스와 같은 CI툴을 사용하면 여러가지 이점들을 누릴 수 있습니다. 주기적 혹은 푸시를 감지하여 서버에서 빌드를 수행합니다. 테스트 코드를 실행하고 커버리지를 리포트 받을 수 있습니다. 정적 분석 및 코드 품질을 모니터링 할 수 있습니다. 대표적인 이 기능들 외에도 여러가지 기능을 활용 할 수 있습니다. 이제 젠킨스(Jenkins)를 Bitbucket과 연동하는 방법을 정리해보겠습니다. 1. 젠킨스에 Bitbucket 플러그인 설치 Jen..
아래 첨부파일 /Users/justin/idea/R 에 저장 RStudio에서 > setwd("/Users/justin/idea/R") > install.packages("KoNLP") > install.packages("wordcloud") > library(KoNLP) 에러: package or namespace load failed for ‘KoNLP’: .onLoad가 loadNamespace()에서 'rJava'때문에 실패했습니다: 호출: dyn.load(file, DLLpath = DLLpath, ...) 에러: 공유된 객체 '/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so'를 로드 할 수 없습..
https://www.javacodegeeks.com/2012/07/anti-cross-site-scripting-xss-filter.html
MSA의 비지니스 도메인 간에 종속성을 없앨 수 있는 Observer Service Pattern 예를 들어 상품의 상태(재고, 판매상태 등)가 변하면 상품 뿐만 아니라, 검색, 전시, 물류 등 여러 비지니스 로직을 처리해야 하는 경우 특정 도메인의 상태 변경으로 인해 타 도메인의 서비스를 연속적으로 호출해야 하는 경우 비지니스 복잡도가 증가할수록 상태 변경을 처리하는 로직에서 해야할 일이 많아지고, 소스 코드는 복잡해 지며, 종속성 증가, 트랜잭션 시간 증가, 교착상태 발생(deadlock) 등 다양한 문제가 생긴다. [도메인에서 상태 변경 처리] 도메인 자신의 상태 변경만 처리한 후 메시지 큐에 상태 변경을 등록한다. 즉, 자기 자신의 비지니스 로직 처리만 집중하며, 상태 변경에 따른 다른 도메인의 ..
nodeJs 테스트 소스를 github에 올렸는데, 친절한 Github에서 아래와 같이 severity Alerts을 보내주네요. 원인을 보면 모두 구버전 package의 보안 문제들.. 한 두개라면 메뉴얼로 버전을 맞추면 되는데 너무 많아서 업데이트를 했습니다. 이번 건은 구글링으로 다음 키워드 "package-lock update"로 금방 찾았네요. https://flaviocopes.com/update-npm-dependencies/ 핵심만 요약하면 npm을 이용해 최신 버전으로 업데이트 하는 겁니다. npm install -g npm-check-updatesncu -unpm updatenpm install
레파지토리 -> 설정 -> 기본 검토자