Jenkins가 설치되어 있는 서버가 외부와의 통신이 되는 환경이면 좋겠지만 그렇지 않은 환경이 여지껏 더 많았다. 따라서 Jenkins를 설치할때도 이미 많이 사용하고 있는 플러그인들을 다 가지고 있는 Jenkins를 통으로 설치하는 경우가 많았다. 하지만 플러그인이 추가로 더 필요한 경우는 분명히 생긴다. 이럴때 어떻게 플러그인을 설치하는지 알아보자. 폐쇄망이라면 Jenkins 앱 내에 있는 plugin manager를 사용하지 못하기 때문에 플러그인을 수동으로 다운받아야한다. Index of /download/plugins updates.jenkins-ci.org 이곳에 들어가면 Jenkins에서 사용가능한 플러그인들이 다 있다. 원하는 플러그인을 다운로드 받는다. 다운로드를 받으면 이런식으로 .h..
Jasypt를 사용해서 암호화를 하는 방법은 지난번에 포스팅을 했다. Spring properties 파일의 내용 암호화하기 (with Jasypt) properties 파일을 구성할때 암호화가 필요한 부분들이 존재한다. 가장 대표적인 예가 datasource의 username, password 부분이다. 이것들은 정말 다양한 방법을 통해서 암호화가 되고 있지만 요즘 추세는 d oingdaddy.tistory.com 이때 특정 문자열에 대해 암호화를 하기 위해서 여러가지 방법이 있다고 했고 그중 CommandLineRunner를 implements해서 Springboot Main class에서 run method를 구현하는 방법으로 암호화된 문자열을 구했다. 하지만 이것도 번거롭다. 어딘가에 Jasypt..
maven project를 수행할때 필요한 settings.xml 파일은 보통은 MAVEN_HOME/conf 밑에 존재한다. 이곳은 전역 설정을 위한 곳이고 /USER_HOME/.m2/settings.xml 이렇게 지역설정을 할 수 있다. 하지만 이런 설정들을 꼭 서버에 들어가서 직접 수행하지 않고도 jenkins내에서 간단하게 수행할 수 있다. 시작점은 Jenkins 관리 > Managed files 이다. 아래 설명에도 나와있듯이 settings.xml for maven 을 할수 있다고 한다. Managed files > Add a new Config 를 통해서 들어가면 jenkins에서 관리할 수 있는 여러가지 파일들이 나온다. 지금은 settings.xml 파일에 대한 내용을 다룰 것으므로 봐야할..
Windows 서버로 진행을 하는 프로젝트를 몇번 진행을 해봤지만 우리 생활에 밀접하게 있는 OS라 친숙하면서도 SSH, FTP, 방화벽 등등 리눅스보다 다루기 어려운 부분들이 많이 있었다. 이 Windows 서버에 개발서버가 올라가고 이에 대한 CI/CD 환경을 구성을 해야 했는데 이때 Jenkins를 통해 배포 및 서버에 설치된 tomcat을 재기동을 시켜야 했다. 윈도우에 설치된 tomcat은 bat 파일을 실행시켜서 동작시킨다. 윈도우상에서 이 파일을 눌러서 실행시키면 cmd 창이 나오면서 톰캣이 기동되는 모습을 확인할 수 있다. 그리고 그 cmd 창은 계속 떠 있어야지 이 창을 종료시키면 tomcat 도 중지된다. 이는 실제 서버를 운영하는 입장에서도 굉장히 거슬리는 점이 아닐수 없다. 하지만 ..
Jenkins를 통해 배포환경을 구성하고 실제 운영을 할 때 빌드 및 배포를 한 버전의 application이 문제가 생겼을 경우 급하게 이전 버전으로 복구를 하고 싶은 경우가 있다. 예전에 nexus를 통해서 이와 비슷한 방식으로 복구를 할수 있었는데 nexus를 이용하지 않는 환경에서 방법에 대해 알아보도록 하겠다. 예전에 소개한 nexus를 사용하는 방법은 다음과 같다. Nexus에 deploy하고 Jenkins에서 deploy 된 목록 가지고 오기 이번에 소개할 내용은 소스를 빌드하여 nexus에 배포를 하고 그 배포된 파일 목록을 Jenkins에서 가져와 원하는 파일로 was에 배포를 하는 것이다. 이게 뭐하는 일인가 싶을수도 있지만 was에 배포한 oingdaddy.tistory.com 모든 ..
svn을 통한 배포 관리 (trunk, branches, tags 활용) 지난번에는 svn에 trunk, branches, tags 생성하는 방법에 대해서 알아보았다. svn trunk, branches, tags 생성하기 (with svn:E160013) 일단 TESTSVN 이라는 svn repository 를 생성을 하였다. (svn 은 설치가 되.. oingdaddy.tistory.com 위와 같은 작업을 통해 최종 배포할 소스에 대해 tag에 넣는 방법에 대해 알아보았다. 이번에는 tag에 보관된것을 가지고 jenkins에서는 어떻게 연결하여 가져와 빌드를 하는지에 대해 알아보겠다. jenkins에서 build를 할 job을 생성을 하고 "이 빌드는 매개변수가 있습니다." 클릭 List Subve..
지난번에는 svn에 trunk, branches, tags 생성하는 방법에 대해서 알아보았다. svn trunk, branches, tags 생성하기 (with svn:E160013) 일단 TESTSVN 이라는 svn repository 를 생성을 하였다. (svn 은 설치가 되었다는 전제) svnadmin create --fs-type fsfs /app/svn/TESTSVN 생성을 마치면 이클립스에서 바로 생성된 svn 주소를 통해 만든 Reposit.. oingdaddy.tistory.com 그럼 이녀석들은 무엇을 위해 이렇게 따로 나뉘어 있는가? 다 각자의 역할이 있다. trunk : 소스의 주 개발 작업을 진행하는 폴더 branches : 소스의 현재 버전을 유지보수하고, 현재 버전을 기반으로 차..
Jenkins와 Sonarqube 연동을 하려면 일단 Jenkins와 Sonarqube가 설치가 되어 있어야 한다. 각각의 설치 과정은 생략하도록 하겠다. 이 두개의 어플리케이션이 설치가 되어 있다는 가정하에 설명을 하도록 하겠다. Sonarqube 에서 해줘야 할일 Jenkins와 Sonarqube 연동은 token으로 한다. Jenkins에서 Sonarqube를 호출하여 작업을 하므로 token의 발행 주체는 Sonarqube이다. 따라서 Sonarqube에서 token을 생성을 해주도록 한다. token 생성은 Administration > Security > User > Tokens token 의 이름은 아무거나 집어 넣고 Generate 를 눌러 생성을 해준다. test 라는 token name..