Linux/Server

    [Jenkins] Clone / Checkout Timeout 에러 처리

    Jenkins에서 Git plugin을 사용하여, github의 프로젝트를 clone / check 시 timeout 에러가 발생하는 경우가 있다. Pull Request를 가져와 Jenkins에서 파이프라인을 수행하려할 때 아래와 같이 에러가 발생한다면 설정을 추가해주면 된다. ... > /usr/bin/git checkout -f f4dkcjp123lkk3344.... # timeout=10 ERROR: Timeout after 10 minutes ... Timeout이 발생할 수 있는 부분은 크게 2부분이다. clone, checkout 동작 시 repository에서 clone하거나, branch로 checkout 시 큰 용량이라면 문제가 발생할 수 있다. clone Configure > Bran..

    [Jenkins] Pipeline Syntax

    이 글은 지속적으로 업데이트 중입니다. Syntax 구성 Agent Post Stages Steps Agent section Jenkins는 다양한 일을 처리해야 합니다. 이때 하나의 머신에서 하나의 Job만들 수행하게 되면, 여러 Job을 순차적으로 밖에 수행을 할 수 없습니다. Agent section은 여러 node를 두고 job을 처리할 수 있도록 합니다. 어떤 node가 어떤 일을할지, 새로운 node를 생성하거나, 또는 docker image를 이용할 수도 있습니다. Post section Post section은 stage가 완료된 이후 실행하는 것 입니다. 파이프라인 또는 스테이지의 실행이 완료되었을 때 실행됩니다. always, changed, fixed, regression, abort..

    [Swagger / Fix] Swagger UI WhiteLabel error

    문제 상황 Swagger 설정 중 아래와 같은 의존성으로 pom.xml로 설정을 하였습니다. io.springfox springfox-swagger2 3.0.0 io.springfox springfox-swagger-ui 3.0.0 Swagger 버전은 3.0.0으로 swagger2와 swagger-ui 의존성을 설정하였었습니다. 이 상태에서 실행 시 api-docs 는 잘 실행되었지만, swagger-ui는 실행이 정상적으로 되지 않고 WhiteLabel 문제가 발생함을 확인하였습니다. 해결 방법 먼저 위에서 정의했던 2개의 의존성을 삭제하였습니다. 삭제한 후 아래의 의존성을 추가하여 주었습니다. io.springfox springfox-boot-starter 3.0.0 그 이후 서버 재시작을 하고 h..

    [Spring] REST API Version 관리

    Versioning 버전관리라는 것은 단순하게 사용자에게 보여주는 항목을 관리하는 것이 아닌 REST API 설계가 변경되거나 또는 Application의 구조가 변경되었을 시에도 버전을 변경해야 할수도 있다. 또한 사용자들이 어떤 버전을 사용해야 할지 가이드를 해야할 수 도 있습니다. 또한 회사, 팀마다 어떻게 Version 관리를 하는 방식은 매우 다릅니다. REST API의 새로운 버전을 오픈, 배포해도 고객들은 기존의 주 버전을 계속 사용하기를 원할수도 있고 새로운 API Version을 사용하길 원할 수도 있습니다 REST API 에서 Version을 관리하는 4가지 방법에 대해 정리하고자 합니다. Versioning 방법 URI versioning Request Parameter version..

    [Spring] Path variable ?

    Path Variable API URL은 API이기 때문에, 정의가 되어있어야 합니다. 정의되지 않은 API로 요청이 오류는 당연히 발생할 것입니다. 이렇게 고정된 API만 사용하는 것이 아니라, URI에 가변적인 변수를 선언해서 사용할 수 있습니다. 이러한 가변변수를 Path Variable이라고 합니다. Path Variable을 사용하기 위하여, @GetMapping annotation에서 path 설정 시 {}을 이용합니다. 예를 들어 아래와 같이 처리합니다. @GetMapping(path = "/example/path-variable/{name}") public PathVariableExample(@PathVariable String name) { // Do something. }{name}은 ..

    [Spring] Spring Boot의 작동원리? Dispatcher Servlet?

    Spring Boot의 설정 Spring Boot 프로젝트를 사용해서 설정파일을 지정하기 위해서는 Java 클래스를 사용할 수 도 있지만, application.yml 또는 application.properties 를 많이 사용합니다. 특히 YAML이 설정 및 관리가 더 편리하기에 _application.yml_을 많이 사용합니다. application.properties 는 설정이름=값 형식을 사용하고, application.yml은 설정이름:값 형식을 사용합니다. 두 가지는 구분자가 = 와 : 로 다릅니다. 아래는 properties와 yml의 차이 예시입니다. // properties logging.level.org.springframework = debug // yml logging: level:..

    Web Service / Web Application

    Web Service Web Service는 WWW를 이용한 디바이스 간의 통신 서비스 또는 네트워크 상에서 특정한 포트를 오픈한 서버가 클라이언트에게 요청을 받은 후 클라이언트에 HTML, JSON, XML, Image 등의 웹문서를 제공합니다. 네트워크 상에서 서로 다른 종류의 이기종들 간의 상호작용을 위한 소프트웨어 시스템이라고 볼 수 있습니다. Web Service 의 3 Keys 기기간 상호작용을 위한 설계 플랫폼 독립성 어플리케이션 간의 커뮤니케이션 지원 Web service는 Server에 Request를 요청하고, Response를 받습니다. 이러한 서비스에 대해 XML, JSON 포맷으로 데이터를 교환할 수 있으며, JSON을 많이 사용하는 추세입니다. Web Application 서버에..

    Ubuntu 14.04 에서 Samba Server 설정

    1 Preliminary NoteI have fresh installed ubuntu14.04 server, on which I am going to install the samba server. Off-course you need to have one windows machine to check the samba server that must be reachable with the ubuntu server. My ubuntu server have hostname server1.example.com & IP as 192.168.0.100You can have your ubuntu server installed from the starting eleven chapters of this tutorial. N..

    VMware 에 CentOS 7 Server 설치하여 사용하기

    리눅스 서버 관리에 대해 공부하기 전에 먼저 학습환경을 설치하고 시작해야겠죠?? 저는 vmware를 사용하여 Cent OS에서 서버관리 학습을 할 생각입니다. 먼저 vmware 설치는 아래 접속하셔서 하시면 됩니다. ^^ [VMWare 설치하기!] 설치할 Cent OS 7을 다운로드 합시다. 다운로드를 바로 할 수 있는 URL은 아래 있습니다. [ CentOS 다운받기!] 위의 URL을 클릭하시면 아래와 같은 화면의 창을 볼 수 있습니다!! 그런 여기서 DVD ISO를 선택하여 다음 창으로 넘어가도록 합니다. 아래 화면으로 넘어오면 다운받을 곳을 선택하게 되는데 가까우면 가까울수록 다운속도 또한 빠르겠죠^^ 저는 평소에도 Daum과 kaist의 ftp서버를 애용한답니다 !! 전 Daum에서 다운 받았습니..

});