10월 10 ~ 12일 까지 샌프란시스코에서 GitHub Universe라는 GitHub 행사가 진행중인데요. 프로젝트에서 사용중인 외부 라이브러리 정보들을 보여주는 기능이 추가됬습니다.

GitHub에 프로젝트의 의존성 정보를 보여주는 “Dependency graph” 기능을 추가했으며 이 페이지에는 프로젝트에서 사용중인 외부 라이브러리 정보를 표시합니다. 프로젝트 페이지의 “Insights” > “Dependency graph”에서 확인할 수 있습니다.

아래 스샷은 제가 당근마켓에서 만들어서 공개한 kakao_push라는 루비 라이브러리의 Dependency graph 입니다.

Github Dependency graph

사용중인 외부 라이브러리와 라이브러리 버전 정보가 적혀 있습니다. gemspec 정보를 읽어서 보여주고 있으며 일반 프로젝트의 경우에는 Gemfile, Gemfile.lock 에 적혀있는 정보를 보여줍니다.

현재는 Ruby, Javascript 프로젝트에 대해서만 지원중이고 조만간 Python도 지원할 예정이라고 하네요.

Dependents 탭을 클릭하면 이 라이브러리를 사용중인 다른 프로젝트를 알려줍니다. 위의 kakao_push 젬은 당근마켓에서만 사용하고 있어서 summernote 의 Dependents를 보여드리겠습니다.

Summernote dependent

인기 오픈소스답게 많은 프로젝트에서 사용중이네요 ^^~ 참고로 Private Repo에서 사용중인 내용은 나오지 않습니다.

여기까지는 사실 뭐 그냥 정보 보여주는거라 뭐가 더 있으려나 싶은데요. 진짜는 지금 부터입니다. 위의 정보를 바탕으로 조만간 오픈할 “Security alerts” 기능은 Dependency Graph에서 얻은정보를 토대로 외부 라이브러리중 보안이슈가 있는 라이브러리를 표시하고 버전 업그레이드해야할 내용을 알려줍니다. 아직 오픈은 안했고 조만간 오픈 예정이라고 합니다.

github security alert

외부 라이브러리들을 많이 사용하는것은 좋은데 보안 업데이트등을 제대로 하지 못해서 문제가 되는 경우가 있는데 GitHub의 Security alerts 기능이 이런 문제 해결에 도움이 될것 같아요.

앞으로는 Security alerts 을 넘어서 외부 라이브러리들의 업데이트 정보도 보여주면 좋겠네요 ~

이와 비슷한 기능을 하는 서비스들도 있는데요. Ruby의 경우에는 deppbot 이 있는데 외부 라이브러리가 새로 업데이트 되면 Pull Request로 알려주고 기존에 사용하던 CI에서 PR에 대한 테스트를 수행하게 하면 그 결과가 PR에 댓글로 달리게 되니 테스트 실패가 없다면 쉽게 머지 할 수 있겠죠. Node에는 Greenkeeper, CI 형태로는 gemnasiumdependencyci 가 있습니다.

참고정보

원본 게시글의 아마존, iTunes 링크들을 통해 구매를 하시면 제휴(Affiliate) 프로그램에 의해 저에게 일정 금액이 적립될 수 있습니다. ^_____^