Git, Jenkins 조합으로 소스 관리 및 빌드 배포를 하고 있다.

주 단위로 배포를 하는 경우, 차주에 나가야할 소스는 develop이나 반영될 branch에 적용되어서는 안된다. 반영이 되어버리면 이번 반영에 영향을 미치기 때문이다.

때문에 일정 차이 때문에 차주에 나가야할 branch 를 따로 생성하여 개발을 진행하였다. 개발을 진행하면서 여러가지 ACL등 환경 때문에 develop 서버 또는 alpha 서버에 배포해서 확인해보거나 proxy서버를 이용하여 했는데, 배포해서 확인하는 방법을 택하였다.

먼저 따로 생성 branch를 remote 에 push하고, jenkins를 이용하여 빌드 및 배포할때 해당 branch를 선택하여 빌드, 배포하였다. 테스트 확인 이후 향후 반영 되었을때의 문제점을 찾기 좀 더 쉬웠다. 하지만 이번주 반영될 branch 테스트가 필요하여 서버에 반영된 branch를 재빌드 및 배포가 필요하였다. jenkins를 사용하였는데, 이상하게도 계속해서 차주에 나가야할 부분이 반영되어있었다.

확인을 해보니 jenkins의 이전 빌드한 결과물들이 workspace에 계속 남아있었고, 해당 파일들 때문에 계속해서 장애 및 에러가 발생하고 있었다. 해당 workspace를 깨끗하게 지우고 재빌드 및 배포하였는데 이번주 반영될 부분만 올바르게 반영되어 있었다.

jenkins에서 이렇게 이전 빌드의 결과물이 남는것을 수동 작업으로 계속 하느냐 또는 새로운 workspace를 계속해서 지정해주느냐 두 가지 방법 모두 귀찮은 방법이었다. 그래서 google에서 jenkins clean workspace를 검색하였더니 첫번째 검색결과로 workspace cleanup plugin이 나왔다.

해당 플러그인 이름에서 알 수 있듯이 jenkins가 빌드한 결과물들을 삭제해주는 플러그인이었다. 먼저 플러그인 설치 목록으로 가서 해당 플러그인을 설치하고, 각 프로젝트의 설정에서 아래 그림과 같이 설정을 해주면 매 번 빌드시에 workspace를 정리하고 빌드를 실행한다.

해당 플러그인을 미리 알았다면, 1시간넘게 밤늦게까지 복구할 필요가 없었을것이다.