Ласкаво просимо назад до нашої серії статей про пакети NuGet! 🎉 У першій статті ми розглянули основи створення та налаштування пакету NuGet. Якщо ви її пропустили, я рекомендую ознайомитися з нею першою, щоб закласти міцну основу.
У цьому посібнику ми зосередимося на публікації та використанні приватних пакетів NuGet за допомогою Azure DevOps. Розміщення ваших пакетів у Azure DevOps забезпечує безпечний обмін і співпрацю в межах вашої організації.
🌟 Чому варто використовувати Azure DevOps для пакетів NuGet?
Azure DevOps пропонує:
- 🏢 Безпечне хостингування: Керуйте доступом до ваших приватних пакетів.
- 🔄 Інтеграція CI/CD: Автоматизуйте створення і розгортання пакетів.
- 🎯 Співпраця в команді: Легко діліться повторно використовуваними компонентами між командами.
📦 Налаштування приватного каналу NuGet
Що таке канал NuGet?
Це місце зберігання, де хостяться пакети NuGet, як публічно, так і приватно.
1. Увійдіть доAzure DevOps
2. Створіть організацію 🏢
2.1. Клікніть на "Нова організація".
2.1
2.2. Введіть бажану назву для вашої організації в поле вводу.
2.3. Коли будете задоволені, натисніть Продовжити, щоб перейти до наступного кроку.
2.2–2.3
3. Створіть проект ✨
3.1. Клікніть на "Новий проект".
3.2. Введіть описову назву для вашого проекту в поле Назва проекту (наприклад, NuGetDemo).
3.3. Виберіть видимість вашого проекту.
3.4. Коли все буде готово, натисніть Створити проект, щоб продовжити.
4. Створіть канал 🛠️
4.1. Перейдіть до вашого проекту в Azure DevOps.
4.2. У лівому меню натисніть на Artifacts.
4.3. Клікніть на Створити канал, щоб налаштувати ваш приватний канал NuGet.
4.4. Назвіть ваш канал: Введіть змістовну назву для вашого каналу (наприклад, "NuGetDemo").
4.5. Налаштуйте видимість каналу.
Виберіть, хто може переглядати пакети:
- Члени [OrgName]: Усі члени вашої організації можуть переглядати канал.
- Конкретні особи: Тільки вибрані користувачі можуть переглядати канал.
4.6. Увімкніть джерела з верхнього рівня (опційно)
- Позначте поле, щоб Включити пакети з публічних джерел якщо ви хочете витягувати пакети з публічних джерел, таких як nuget.org.
Чому варто увімкнути цю опцію?
Зручність:
Автоматично отримуйте пакети з публічних джерел без необхідності вручну завантажувати їх на ваш канал Azure DevOps.
Якщо ви запитуєте пакет, якого немає у вашому каналі, Azure DevOps автоматично витягне його з публічного джерела.
Безпека:
Ваші проекти можуть безпечно залежати від зовнішніх пакетів, при цьому контролюючи всі залежності у вашому каналі.
Централізація:
Усі залежності, як внутрішні, так і зовнішні, можуть бути доступні через один канал.
Це забезпечує консистентні версії між командами та проектами.
4.7. Виберіть область видимості
- Проект: Обмежте доступ до каналу лише для вибраного проекту (рекомендується для конкретних випадків).
- Організація: Дозвольте доступ до каналу для всіх проектів у вашій організації.
4.8. Натисніть Створити для фіналізації і створення вашого нового каналу.
5. Підключіть ваш канал 🔗
5.1. На сторінці каналу натисніть Підключитися до каналу.
5.2. Виберіть Visual Studio.
5.3. Скопіюйте посилання на джерело.
5.1
5.2
5.3
5.4. Відкрийте Visual Studio.
5.5. Перейдіть до меню Інструменти 🛠️
5.6. Виберіть Параметри з випадаючого меню 📋.
5.7.
У вікні Параметри знайдіть Джерела пакетів 🔗 у рядку пошуку.
5.8. Клікніть на Джерела пакетів 🔗.
Тут ви можете додавати або керувати джерелами пакетів NuGet для вашого проєкту.
5.4–5.8
5.9. Клікніть на кнопку + (Додати) у верхньому правому кутку ➕.
5.10. Назва: Введіть назву для вашого джерела пакету, наприклад, NuGetDemo📝.
5.11. Джерело: Введіть URL для джерела пакету, наприклад,https://pkgs.dev.azure.com/NuGetOrg/NuGetDemo 🌐.
5.12. Клікніть Оновити, щоб зберегти нове джерело пакету ✅.
5.13. Клікніть ОК, щоб закрити вікно Параметри ✔️.
5.9–5.13
або ви можете додати за допомогою командного рядка або PowerShell за один крок
dotnet nuget add source --name --username --password
🔑 Створення персонального токена доступу (PAT) в Azure DevOps:
Відкрийте Azure DevOps.
Перейдіть до Налаштування користувача.
Виберіть Персональні токени доступу.
- Клікніть на Новий токен.
- Налаштуйте область видимості та термін дії токена, потім натисніть Створити.
- Скопіюйте згенерований токен для подальшого використання.
📦 Підготуйте властивості вашого пакету
Переконайтеся, що ви налаштували відповідні властивості пакету для вашого NuGet пакету. Це важливий етап, оскільки правильна конфігурація допоможе вам легко керувати та ідентифікувати ваш пакет після його публікації.
Якщо ви не впевнені, які ключові властивості потрібно налаштувати, перегляньте мою першу статтю цієї серії для детальнішого пояснення основних властивостей, необхідних для публікації пакету NuGet.
🏗️ Створення пакету NuGet
Перш ніж опублікувати ваш пакет, необхідно зібрати його з правильними властивостями:
1. Перейдіть до каталогу проєкту в вашому терміналі або командному рядку.
2. Використовуйте команду dotnet pack, щоб створити файл .nupkg, який згенерує пакет NuGet з правильними метаданими з вашого файлу .csproj.
dotnet pack --configuration Release
або ви можете використати Visual Studio
- Виберіть Release з меню конфігурацій
- У Провіднику рішень, клацніть правою кнопкою на проєкті, який ви хочете упакувати.
- Виберіть команду Pack у контекстному меню.
Це зібере ваш проєкт у конфігурації Release і створить файл .nupkg, що містить ваш компільований код та метадані.
📤 Опублікуйте пакет на NuGet
Після того як ваш пакет готовий, опублікуйте його на каналі NuGet:
Ви можете використовувати термінал (Командний рядок, PowerShell або інший термінал) або Консоль керування пакетами у Visual Studio для того, щоб опублікувати ваші пакети NuGet на Azure Artifacts.
Використовуючи командний рядок або PowerShell
dotnet nuget push -s --api-key AZ
📥 Споживання пакету з каналу Azure DevOps
- У Visual Studio відкрийте своє рішення та перейдіть до Інструменти > Менеджер пакетів NuGet > Керувати пакетами NuGet для рішення.
- Перейдіть на вкладку Перегляд, знайдіть ваш пакет і натисніть Встановити.
Дякую за прочитання! 🙌 Сподіваюся, цей посібник допоможе вам успішно публікувати та споживати приватні пакети NuGet за допомогою Azure DevOps.
Не перемикайтесь, адже наступна стаття цієї серії розгляне Автоматизацію CI/CD для публікації NuGet пакетів за допомогою Azure DevOps — покроковий посібник, який дозволить оптимізувати ваш DevOps pipeline і забезпечить безперебійне розгортання пакунків щоразу. 🚀
Перекладено з: 🚀 Publishing and Consuming Private NuGet Packages with Azure DevOps