Visual Studio 내에서 Nuget Package를 생성하고, GitHub에 업로드하는 방법을 알아보자.
GitHub id가 있다는 가정하에 진행됩니다.
아직 가입하지 않으신 분들은 회원가입을 먼저 진행하여 계정을 생성하여 주세요.
1) GitHub에 로그인 후 상단에 보이는 아이콘을 클릭하여 주세요.
2) Settings 메뉴 클릭
3) 좌측 메뉴의 developer settings 클릭
4) 좌측 메뉴의 Personal access tokens 클릭
5) write:packages 와 delete:packages 에 체크하여 저장
여기까지 완료하면 패키지를 업로드할 수 있는 깃허브 토큰이 발행된 겁니다.
발행된 토큰을 꼭 복사하셔서 따로 가지고 계셔야해요!! 중요 **
또는 기존 토큰이 수정됩니다 !
이제 본격적으로 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
패키지 파일이 빌드된 경로를 복사해주세요! 다음 과정에서 필요합니다
이제 본격적인 nuget package 배포를 위해, visual stduio 내에서
개발자 powershell 을 이용해야 합니다.
개발자 powershell을 여는 방법은 아래와 같습니다.
1.visual studio 상단 툴바의 보기 -> 터미널 클릭
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"
최종 단계인 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"
아래 그림과 같이 업로드가 되었다면 성공 입니다!