IT, 프로그래밍/Jenkins
-
젠킨스 - Git 스프링 프로젝트 배포시 별도 설정파일로 키값 숨기기IT, 프로그래밍/Jenkins 2018. 10. 5. 16:00
보통 프로젝트를 진행하면 DB 커넥션에 관한 계정에 대한 정보와 API키 등을 설정파일에 적어두어 연결 시 사용합니다. 문제는 Git의 원격 저장소에 push되어 소스가 올라갈 때 이런 중요한 설정 정보들도 그대로 올라간다는 점인데요. 만약 이를 방지하기 위해 .gitignore로 설정하면, 원격 저장소로 푸쉬될 때 파일 자체가 올라가지 않아 젠킨스로 배포시 문제가 생기게 됩니다. 이 문제를 해결하기 위해 로컬 pc에 설정파일을 저장한 후에, 이 파일에서 중요한 정보들을 가져오는 방식을 사용 하겠습니다. (이 방법도 사실 파일 경로가 올라가야해서 적합한 방식이라고는 할 수는 없습니다.) 1. 우선 로컬환경에 적합한 경로를 골라 파일명.properties 파일을 생성해 줍니다. 2. 파일에 매핑할 요소를 ..
-
Jenkins 외부 jar 추가하기IT, 프로그래밍/Jenkins 2018. 10. 1. 13:24
프로젝트를 진행하다 보면 외부 jar 라이브러리 파일을 직접 삽입시켜야 하는 경우가 있다. 대표적으로 오라클 드라이버를 사용하는 경우인데, 오라클과 메이븐의 저작권 문제 때문에 중앙 저장소에 등록되어 있지 않다. 결국 사용자가 직접 다운 받아서 jar 파일을 넣어줘야 하는데 일반적으로 로컬 환경에서 돌리면 dependency 설정 시 scope를 system로 설정해 해당 JAR 파일의 경로를 설정하면 사용할 수 있으나, war로 배포 되는 경우에는 패키징 하는 경우 해당 jar 파일이 포함되지 않는 경우가 생긴다. 이를 해결하기 위해서는 어플리케이션 패키지 안에 내부 저장소를 설정해 주어야 한다. 1234567 inner project external jars file://${project.basedi..
-
젠킨스 연동 삽질기IT, 프로그래밍/Jenkins 2018. 9. 30. 20:18
Jenkins로 기존 프로젝트를 배포하는데 3일동안 했던 삽질을 정리하려고 함.. 1. Window에 젠킨스 설치 후 연동 성공, AWS EC2 인스턴스에 설치 후 관련 플러그인 설치 중 계속 오류가 뜨면서 실패함. --> 이 부분은 집에 있는 데스크탑으로 putty에 접속해서 설치를 진행했는데, 학교에 와서 노트북으로 하니까 말끔히 해결됨. 아마 네트워크 쪽에 방화벽 문제가 아니었나싶음. 2. 젠킨스 설치 후 톰캣과 같이 구동 시 OOM 문제 --> 젠킨스와 톰캣을 동시에 구동 시 EC2 인스턴스가 급속도로 느려지며 다운되는 현상 발생. 젠킨스 설정에 힙 메모리와 perm size를 늘려주고 해결 ( 관련 이슈 : http://gdtbgl93.tistory.com/117 ) 3. Logger 패키지와 ..
-
Ubuntu 14.04 - Jenkins 연동 시 OOM 문제 해결IT, 프로그래밍/Jenkins 2018. 9. 28. 13:13
젠킨스를 사용 중에 시스템이 자꾸 다운되는 문제가 발생했다. 재부팅을 반복하던 중에, 톰캣과 같이 돌아가면서 생기는 문제로 확인했고 톰캣 서비스 종료 후에 돌리니 잘 돌아가는 것을 확인하였다. 하지만 젠킨스 배포시 톰캣 구동이 꼭 필요하므로 이 문제는 꼭 해결되어야 했다. 젠킨스와 톰캣이 동시에 돌아가면 급속도로 느려지고 입력이 아예 안되는 것을 보아, 어딘가 데드락에 걸렸거나 메모리 오버플로가 발생한 것으로 예상, 우선 젠킨스 로그 파일을 확인하였다. 1234# There is insufficient memory for the Java Runtime Environment to continue.# Native memory allocation (mmap) failed to map 38223872 bytes..