본문 바로가기
기타Tip

폐쇄망 환경에서 Nuget Repository (1) Local Repo

by 크라크라 2024. 12. 25.

폐쇄망 환경에서 Visaul Studio 를 설치완료했다면, 그 다음에는 빌드가 가능하도록 각종 참조 라이브러리들을 받아야겠죠? 주로 사용할 수 있는 방법은 3가지 정도 생각해 볼 수 있습니다. 

 

1. 회사에서 공식적으로 제공하는 사내 레포지토리 

2. 개발 컴퓨터에 설정

3. 별도의 사내 레포지토리 설정

 

 

1은 누군가가 설정을 해줘야만 쓸 수 있고, 1이 있으면 알아서 설정하는 방법을 알려줄 것입니다. 

그러니 2와 3에 대해서만 알아봅시다.

 

이번 글에서는 2에 대해서만 간단하게 알아보겠습니다. 

 

Java 를 쓰시는 분들은 프로젝트에 사용되는 모든 라이브러리를 프로젝트에 참조해서 가지고 다니는 것에 익숙할 텐데요. C# 개발은 일반적으로는 그런 방식이 잘 사용되지 않습니다. 2번 방식은 어떻게보자면 자바의 방식과 유사하다고 볼 수 있을 것 같습니다. 정확히는 내 로컬PC에 일종의 레포지토리를 생성하는 방법이죠. 

 

 

 

Visual Studio 를 실행하고 "도구 > Nuget 패키지 관리자 > 패키지 관리자 설정" 을 실행합니다. 

 

 

버전에 따라서 약간 다를 수 있지만 이런 화면을 볼 수 있습니다. 

 

여기에서 "패키지 소스"를 클릭합니다.

 

 

그럼 최초 실행시에는 패키지 소스에 nuget.org 또는 Microsoft Visual Studio Offline Packages 만 있을 것입니다. 

혹은 nuget.org만 존재할 수 있습니다. Offline Packages 폴더는 nuget 에서 다운 받은 라이브러리들을 추가로 보관하는 것이라고 보시면 됩니다. 

 만약 여러 프로젝트를 진행하고 있다면, 그 프로젝트의 라이브러리들이 모두 들어있을 겁니다. 

 

 

폐쇄망에서는 nuget.org 를 접근이 불가능할 가능성이 높습니다. 간혹 열어주는 회사나 시스템이 있으면 별도의 설정이 필요없이 감사합니다하고 사용하시면 됩니다. 

 

nuget.org 가 접근이 불가능한 환경이라면 , nuget.org 사용할 수 없으므로 체크를 해제합니다. 

그리고 오른쪽 상단의 초록색 + 버튼을 눌러서 내 로컬 레포로 사용할 폴더를 하나 만들어줍니다. 

 

 

패키지 소스를 새로 추가할 때는 꼭 업데이트를 눌러주셔야 새로 만들 때 내용이 저장된다는 점은 주의하세요. 

 

설정을 완료한 후에는 확인 버튼을 눌러서 종료합니다. 

 

이제 기존 개발 환경에서 (인터넷이 되는 환경에서) 다운 받은 라이브러리 파일을 해당 폴더로 옮겨줍니다. 

내가 참조하지 않았지만, C# 에서 내부적으로 참조하는 라이브러리들이 있기 때문에 전체 폴더를 통째로 옮기는 것을 권장드립니다. 

 

일반적으로는 아래 위치에 기존에 사용하던 라이브러리 파일이 있을 것입니다.

C:\Program Files (x86)\Microsoft SDKs\NugetPackages\

 

파일들을 내가 새로 지정한 패키지 소스 폴더(repo)로 옮기고 나면 이제 라이브러리를 확인할 수 있습니다. 

 

 

간단하게 제 local repo 에는 2개의 라이브러리만 옮겨두었습니다.  

 

이제 Nuget 패키지 관리창으로 들어가보면 오른쪽 상단에서 패키지 소스가 local 로 지정되어 있는 것을 볼 수 있습니다. 

찾아보기에서는 전체 라이브러리를 확인할 수 있는데요. 제가 2개만 넣어두었기 때문에 검색도 2개만 되는 것이 확인됩니다.

 

 

 

 회사에서 사설 레포지토리 환경을 구축할 여유를 주지 않는데, 폐쇄망에서 작업해야한다면 위와 같은 방식으로 간단하게 개발을 시작할 수 있습니다. 

댓글