C# Visual Studio 내에서 Nuget Package GitHub에 업로드하기

Cherry Min·2022년 5월 4일
0
post-thumbnail

Visual Studio 내에서 Nuget Package를 생성하고, GitHub에 업로드하는 방법을 알아보자.

Step 1. GitHub Token 발행하기

GitHub id가 있다는 가정하에 진행됩니다.
아직 가입하지 않으신 분들은 회원가입을 먼저 진행하여 계정을 생성하여 주세요.

1) GitHub에 로그인 후 상단에 보이는 아이콘을 클릭하여 주세요.

2) Settings 메뉴 클릭

3) 좌측 메뉴의 developer settings 클릭

4) 좌측 메뉴의 Personal access tokens 클릭

5) write:packages 와 delete:packages 에 체크하여 저장

여기까지 완료하면 패키지를 업로드할 수 있는 깃허브 토큰이 발행된 겁니다.
발행된 토큰을 꼭 복사하셔서 따로 가지고 계셔야해요!! 중요 **
또는 기존 토큰이 수정됩니다 !

Step 2. 클래스 라이브러리 프로젝트 패키징

이제 본격적으로 nuget package 로 만들 프로젝트를 패킹하는 작업을 진행해봅시다.

1) 패킹할 클래스 라이브러리 프로젝트를 선택 후 오른쪽 마우스 클릭하여 속성 선택

2) 왼쪽 메뉴의 패키지 클릭
패키지명과 그 외 상세 정보들 (필수는 아닙니다.) 을 입력해주세요
그 후 가장 중요한 Github에 업로드할 본인의 프로젝트 url , 리포지토리 url 에 자신의 GitHub 리포지토리 url 을 작성해 주세요 !
저 같은 경우에는 저희 리포지토리 url 인 https://github.com/alswl2585/MyQueryBuilder 을 기입했습니다.

3) 솔루션 탐색기에서 프로젝트 선택하여 다시 오른쪽 버튼 클릭 후 팩 버튼을 클릭하여 패키징 작업을 해줍니다.

4) 패키징된 파일 확인
프로젝트의 모드에 따라서 Debug 혹은 Release 폴더에 nupkg 파일이 빌드가 되었을 겁니다.
파일 경로는 프로젝트 폴더 -> bin -> Debug / Release -> packageName.nupkg

패키지 파일이 빌드된 경로를 복사해주세요! 다음 과정에서 필요합니다

Step 3. 개발자 powershell 열기

이제 본격적인 nuget package 배포를 위해, visual stduio 내에서
개발자 powershell 을 이용해야 합니다.
개발자 powershell을 여는 방법은 아래와 같습니다.

1.visual studio 상단 툴바의 보기 -> 터미널 클릭

  1. 개발자 powershell 이 열린 모습

Step 4. GitHub 패키지 인증

github에 패키지 업로드를 위해선 패키지 인증이 필요합니다.
GitHub 문서 NuGet 레지스트리 작업을 참고하여 작업하였으니, 링크 클릭하셔서 참고하시면 더 도움이 되실 것 같습니다.

1) 작업자 powershell 에 아래와 같이 커맨드를 작성합니다.
username 에는 github username 을 기재해주시고, secrets.GITHUB_TOKEN에 STEP1에서 발급받으신 토큰을 기입해주세요.

dotnet nuget add source --username USERNAME --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/OWNER/index.json"

Step 5. GitHub에 패키지 게시

최종 단계인 GitHub에 패키지를 게시하는 방법입니다.
아래와 같이 따라해 주시면, GitHub에 본인의 nuget packagwe

1) 작업자 powershell에 아래와 같이 커맨드를 작성합니다.

  • push "bin/Release/OctocatApp.1.0.0.nupkg" 구문 중 "" 안에 STEP2에서 생성된 본인의 패키지 경로를 입력해주세요.

  • api key YOUR_GITHUB_PAT 구문 중 YOUR_GITHUB_PAT 대신 STEP1에서 생성한 본인의 GitHub 토큰을 입력해주세요.

dotnet nuget push "bin/Release/OctocatApp.1.0.0.nupkg"  --api-key YOUR_GITHUB_PAT --source "github"

😻 GitHub에 Nuget Package 업로드 완료!

아래 그림과 같이 업로드가 되었다면 성공 입니다!

profile
Hello, I'm Cherry Min (Park Min-ji), a developer who builds MES solutions in the field.

0개의 댓글