Azure DevOps – Bölüm 2 : Azure Artifacts Nedir?

020621_1215_AzureDevOps1.png

Azure Devops Nedir ilk bölümde Azure Repos’tan bahsetmiştim. Bu bölümde ise Azure DevOps üzerinde Maven, npm, NuGet, and Python paketlerini barındırabileceğiniz Azure Artifacts’ı bir örnek üzerinden anlatacağım.

Paket kaynağını nuget.org ya da kendi NuGet paketleriniz için kullandığınız local bir NuGet server kullanmışsınızdır. Azure Artifacts’ı aslında size özel bir NuGet server olarak da nitelendirebiliriz. Azure DevOps ekranında menüden Artifact’a geldiğinizde size varsayılan olarak bir feed oluşturduğunu görebilirsiniz (Resim-1).

Resim-1

Connect to feed butonuna tıkladığımızda ise Resim-2‘de göreceğiniz sayfa karşınıza çıkacak. Buradan NuGet, npm, Maven, Python ya da Universal packages seçeneklerinden birini seçerek ilerleyebilirsiniz.

Resim-2

NuGet seçeneğini seçerek devam ediyorum. Burada da 3 farklı seçeneğimiz var, dotnet ve NuGet.exe komut satırı ya da Visual Studio kullanabiliriz. Her bir seçeneğin yanında Resim-3‘te göreceğiniz gibi detaylı bir anlatım yer alıyor. İlk kez kullanacaksanız Get the Tools‘a basarak neler kurmanız gerektiğini görebiliyorsunuz, dotnet komut satırını seçtiğim için .NET Core SDK and the Azure Artifacts credential provider kurmam gerektiğini söyleyecek.

Resim-3

.NET Core SDK kurulu olduğu için credential provider ile devam ediyorum. Bunun için de ilgili GitHub sayfasında yer alan bilgilere bakarak Resim-4‘te göreceğiniz iex
“& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) }” komutunu PowerShell üzerinde çalıştırarak credential provider kurulumunu tamamlıyorum.

Resim-4

Gerekli kurulumları tamamladıktan sonra Resim-3 ilk maddede yazılan bilgilere göre .csproj ya da .sln dosyası ile aynı klasöre nuget.config dosyası ve bu dosya içerisinde de provider bilgilerimi ekledim. Sıra ilk nuget paketimi yükleme işlemine geldi. Sayfada gösterdiği şekilde komutu çalıştırdığım zaman ise 401 Unauthorized hatası alıyorum (Resim-5). Henüz bir tanım yapmadığımız için normal olarak yüklediğimiz credential provider’ın credential bilgilerini bilmiyor.

Resim-5

Azure DevOps sayfasında, User settings menüsüne tıklayarak Personal access tokens seçeneğini seçerek devam ediyorum (Resim-6).

Resim-6

Personal Access Tokens sayfasında New Token diyerek yeni bir token oluşturacağım. Burada bir token adı ve geçerlilik süresi belirledikten sonra, bu token’ın nerelerde kullanacağımı ve yetkilerini belirliyorum. Paket oluşturma ile bütün yetkileri seçerek personal access token’ı oluşturuyorum (Resim-7).

Resim-7

Oluşturduğum token değerini ise projeye eklediğim nuget.config dosyasına Resim-8‘de göreceğiniz gibi packageSourceCredentials altında olacak şekilde ekliyorum.

Resim-8

Daha önce 401 hatası aldığım nuget push komutunu tekrar çalıştırıyorum ve bu kez başarılı bir şekilde paketin yüklendiğini görebiliyorum (Resim-9).

Resim-9

Artifacts sayfasına tekrar baktığımda ise mshowtoLib paketini burada görebiliyorum (Resim-10).

Resim-10

Artık Azure Artifacts üzerinde bir nuget paketimiz olduğuna göre bu paketi projeye eklemeyebiliriz. Komut satırını kullanarak dotnet add package <paket adı> komutu ile paketi projeye ekliyorum (Resim-11).

Resim-11

Paketin başarılı bir şekilde eklendiğini görebilmek için csproj dosyasına baktığımda da mshowtoLib paketi görebiliyorum (Resim-12).

Resim-12

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-gb/azure/devops/repos/?view=azure-devops

TAGS : azure devops, azure artifacts, azure, vscode, git, visualstudio, maven, npm, nuget, python

Yazı gezinmesi

Mobil sürümden çık