میزبانی سرور NuGet خصوصی با استفاده از BaGet در IIS

نمونه راه‌اندازی شده باگتاگر قصد انتشار یک پکیج NuGet را دارید و می‌خواهید پیش از انتشار عمومی آن را تست کنید و یا اگر تمایل دارید پکیج های خود را به صورت محلی (و خصوصی) در سیستم خود استفاده کنید، BaGet یک گزینه بسیار عالی است.در این مطلب نگاهی به نحوه راه اندازی BaGet در IIS و استفاده از آن می‌اندازیم.نوگت یک Package Manager برای دات نت است که از طریق آن می‌توانید پکیج های خود را منتشر کرده و یا از پکیج های منتشر شده توسط دیگران استفاده کنید.چرا BaGet؟باگت یک سرور نوگت سبک، اپن سورس و کراس پلتفرم برای پکیج های NuGet و Symbol های آن است. از باگت می‌توان به عنوان یک سرور Cache برای گالری رسمی نوگت نیز استفاده کرد. سرور رسمی نوگت نیز اپن سورس است و می‌توان به صورت محلی از آن نیز استفاده کرد اما از Symbol ها پشتیبانی نمی‌‌کند.از باگت می‌توان در پلتفرم های مختلفی از جمله کامپیوتر شخصی، Docker و... استفاده کرد. در این آموزش نحوه راه‌اندازی آن را در IIS بررسی خواهیم کرد.نحوه راه اندازی✅ ابتدا ASP.NET Core Runtime Hosting Bundle را دانلود کنید.حتی اگر از قبل SDK را نصب دارید، نصب Hosting Bundle برای استفاده از باگت الزامی‌ست.در صورتی که IIS را قبلاً فعال نکرده‌اید از بخش Windows Features گزینه Internet Information Services را علامت بزنید و سپس ویندوز خود را حتماً ری‌استارت کنید.✅ پوشه‌ای با نام دلخواه (به عنوان مثال: BaGet) در مسیر زیر بسازید:C:\inetpub\wwwroot✅ به کاربر IIS دسترسی های لازم را برای پوشه BaGet بدهید.✅ از بخش نسخه های منتشر شده باگت در گیت هاب، آخرین نسخه آن را دانلود کنید.✅ فایل فشرده دانلود شده (BaGet.zip) را در پوشه‌ای که قبلاً ایجاد کردید استخراج کنید.✅ از پوشه BaGet فایل appsettings.json را توسط ادیتور مورد علاقه خود بازکرده و سپس پورتی را برای BaGet تنظیم کنید. به عنوان مثال: در اینجا پورت 50561 جهت عدم تداخل با سایر پروژه ها انتخاب شده است.&quotUrls&quot: &quothttp://localhost:50561&quot,✅ از منوی استارت IIS Manager را باز کنید.سپس بر روی Application Pools کلیک راست کرده و Add Application Pool را انتخاب کنید. در پنجره باز شده Application Pool جدید را تنظیم کنید:نام را انتخاب کنید. (به عنوان مثال: BaGetAppPool)نسخه CLR دات نت را بر روی No Managed Code تنظیم کنید. گزینه Managed Pipeline Mode را بر روی Integrated تنظیم کنید.گزینه Start application pool immediately باید علامت خورده باشد.پس از ایجاد Application Pool، بر روی Sites کلیک راست کرده و Add Website را انتخاب کنید.✅ در پنجره باز شده جزئیات وب سایت را تنظیم کنید:نام سایت را انتخاب کنید. (به عنوان مثال: BaGet)نام Application Pool را انتخاب کنید. (به عنوان مثال: BaGetAppPool)آدرس فیزیکی پوشه BaGet را انتخاب کنید. پورت از قبل تعیین شده را انتخاب کنید. (به عنوان مثال: 50561)✅ تبریک! هم اکنون با مراجعه به آدرس مورد نظر به BaGet دسترسی خواهید داشت.نحوه آپلود پکیج نوگتابتدا با استفاده از دستور زیر پکیج نوگت را برای پروژه خود ایجاد کنید.dotnet pack --configuration Releaseسپس با استفاده از دستور زیر پکیج ایجاد شده را آپلود کنید.dotnet nuget push -s http://localhost:50561/v3/index.json <PackageFileName>بجای <PackageFileName> آدرس یا اسم فایل مورد نظر خود را بنویسید.تنظیم ویژوال استودیو برای استفاده از باگتبرای استفاده از پکیج های آپلود شده، لازم است در ویژوال استودیو BaGet را به عنوان یک منبع تنظیم کنید. ✅ در ویژوال استودیو 2019 از بخش Tools گزینه Options را انتخاب کنید.سپس از بخش NuGet Package Manager گزینه Package Sources را انتخاب کرده و سپس باگت را اضافه کنید.تنظیم باگت در ویژوال استودیوپس از تایید می‌توانید از پکیج های نوگت محلی دقیقاً مانند پکیج های عمومی وب سایت رسمی نوگت استفاده کنید.تنظیم خط فرمان دات نت برای استفاده از باگتدر صورتی که از ویژوال استودیو استفاده نمی‌کنید می‌توانید با استفاده از خط فرمان دات نت، باگت را به عنوان منبع اضافه کنید.dotnet nuget add source http://localhost:50561/v3/index.json -n BaGet✅ همچنین جهت مشاهده منابع فعلی می‌توانید دستور زیر را اجرا کنید.dotnet nuget list source? منابع و لینک های مفید:BaGet on GitHubHow to host your own NuGet Server and Package FeedHosting your own NuGet Server and Feed for build artifacts with BaGetDocumentation for dotnet nuget add sourceDocumentation for dotnet nuget list source?‍? در صورتی که سوال و یا نظری دارید از طریق بخش نظرات با من در ارتباط باشید.