티스토리 뷰

C#

Nuget Deploy

0307kjb 2025. 1. 21. 11:53

NuGet은 **.NET 개발 환경**에서 사용되는 패키지 관리자입니다. NuGet은 **라이브러리, 프레임워크, 도구**와 같은 패키지를 쉽게 설치, 관리, 업데이트, 배포할 수 있도록 설계되었습니다.

아래에서 **NuGet**, **NuGet Package**, 그리고 **.nupkg 파일**의 개념과 차이점을 설명하겠습니다.


**1. NuGet이란?**

**NuGet**은 Microsoft에서 제공하는 **패키지 관리 시스템**으로, 주로 .NET 프로젝트에서 라이브러리를 쉽게 관리하기 위해 사용됩니다.

주요 역할:

  1. 패키지 설치
    • 외부 라이브러리를 프로젝트에 추가(예: `Newtonsoft.Json` 설치).
  2. 의존성 관리
    • 라이브러리 간의 의존성을 자동으로 설치 및 업데이트.
  3. 패키지 생성 및 배포
    • 자신만의 라이브러리를 만들어 공유하거나 배포 가능 (예: 사내 Nexus 저장소).

NuGet 클라이언트 도구:

  1. NuGet CLI
    • `nuget.exe`로 실행.
  2. dotnet CLI
    • .NET Core/6 이상에서는 `dotnet` 명령어로 NuGet과 통합.
  3. Visual Studio
    • "NuGet 패키지 관리자" GUI 제공.

**2. NuGet 패키지란?**

정의:

**NuGet 패키지**는 재사용 가능한 **코드 라이브러리**를 담고 있는 파일입니다. NuGet 패키지는 `.nupkg` 확장자를 가진 압축 파일로, 라이브러리, 메타데이터, 의존성 정보를 포함합니다.

Nexus 배포

(0) **NuGet 소스 추가**

  1. nuget.exe 설치
  1. path 경로에 환경변수 설정
  2. nuget 명령어 확인

(1) Nuget Config 설정

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="CodeEditorWPF" value="http://192.168.121.182:8081/repository/CodeEditorWPF/" allowInsecureConnections="true"/>
  </packageSources>
  <packageSourceCredentials>
    <hanwha-nuget-snapshots>
      <add key="Username" value="admin" />
      <add key="ClearTextPassword" value="fs1234!" />
    </hanwha-nuget-snapshots>
  </packageSourceCredentials>
</configuration>

(2) **NuGet 소스 추가**

NuGet 클라이언트에 Nexus 저장소를 소스로 추가

nuget sources add -Name "Nexus" -Source "http://<Nexus_IP>:8081/repository/nuget-hosted/" -UserName <username> -Password <password>
nuget sources list //  NuGet 패키지를 검색하거나 업로드할 때 사용하는 저장소(URL) 목록 확인

(3)`.nupkg` 파일 기반으로 패키지 생성

nuget pack TextEdiorTest.csproj -Version 0.0.1 -OutputDirectory ./

(4) 배포 명령어

nuget push <Nuget package Name> -Source "Repoistory Name"

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함