Jenkins의 빌드 로그를 Dropbox에 넣어 Github에서 뛰어 들었습니다.

상황


  • 사내 네트워크에서 mac에서 실행되는 Jenkins
  • Jenkins의 작업 로그를 외부에서보고 싶습니다
  • 가능하면 Github의 Pull Request 페이지에서 쉽게 날고 싶다
  • 로그에는 다양한 token 라든지의 기밀 정보가 평문으로 들어 있기 때문에 한정된 사람만을 볼 수 있게 하고 싶다
  • VPN을 잘 모르겠다

  • 했던 일


  • 아래와 같은 명령으로 Jenkins 빌드 로그를 Dropbox의 특정 디렉토리에 내보냅니다.
  • curl $BUILD_URL/consoleFull > path/to/dropbox/logs/log_${BUILD_NUMBER}.html

  • Dropbox 설정에서이 디렉토리 (logs)를 공유하려는 멤버와 공유
  • https://www.dropbox.com/home/logs?preview=logs_${BUILD_NUMBER}.html라는 URL로 브라우저에서 볼 수 있습니다.

  • github Statuses API을 사용하여 이전 dropbox URL을 Pull Requset status에 씁니다.
  • curl을 사용하여 쓸 수 있습니다


  • 이러한 작업을 수행하면 아래 이미지의 Dropbox 컨텍스트 세부 정보에서 dropbox 페이지가 열리므로 어디서나 안전하게 jenkins 로그를 볼 수 있습니다.



    요약



    Jenkins의 로그를 Dropbox에 내보내는 처리 자체는 이전부터 하고 있었지만, 이번 사내에서 Dropbox를 동기화하지 않고 브라우저에서 간단하게 보고 싶다는 요구가 있었습니다.

    공유 URL을 게시하면 누구나 볼 수 있기 때문에 불안했기 때문에 Dropbox의 공유 기능을 사용하여 필요한 사용자 만 볼 수 있습니다.

    Github의 Pull Request의 Status Detail에 URL을 올려 쉽게 로그에 액세스할 수 있게 되었습니다(폴더를 마운트하는 형식이라면 빌드 번호에서 파일명을 찾는 것이 상당히 번거로웠다).

    약간의 개선으로 매우 효율적으로 된 것 같습니다.

    좋은 웹페이지 즐겨찾기