Azure DevOps ile sürekli tümleştirme ve dağıtım

Not

Bu bölümde Azure DevOps ile sürekli tümleştirme ve dağıtım ayrıntılı olarak yer bunu GitHub eylemlerle de sağlayabilirsiniz. GitHub eylemler, sürekli tümleştirme ve dağıtım için de kullanılabilecek GitHub yerleşik bir iş akışı altyapısıdır. GitHub kullanarak Azure 'a oluşturma ve dağıtmaya yönelik kılavuzu izlemek için, uygulamanın kodunu yayımla ' yı GitHub ve sonra yerel Git dağıtımı bölümlerinin bağlantısını kes ' i tamamlayın ve GitHub eylemler bölümüneilerleyin.

Önceki bölümde, basit akış okuyucusu uygulaması için yerel bir git deposu oluşturdunuz. bu bölümde, bu kodu bir GitHub deposuna yayımlayacaksınız ve Azure Pipelines kullanarak Azure DevOps Services bir işlem hattı oluşturacaksınız. İşlem hattı, uygulamanın sürekli derlemelerini ve dağıtımlarını mümkün bir şekilde sunar. GitHub deposuna yapılan her türlü kayıt, bir derlemeyi ve Azure Web uygulamasının hazırlama yuvasına bir dağıtımını tetikler.

Bu bölümde, aşağıdaki görevleri tamamlayacaksınız:

  • GitHub için uygulamanın kodunu yayımlayın
  • Yerel git dağıtımının bağlantısını kes
  • Azure DevOps kuruluşu oluşturma
  • Azure DevOps kuruluşunda takım projesi oluşturma
  • Gerektiğinde şirket içinde barındırılan bir aracı yapılandırın
  • Derleme tanımı oluşturma
  • Yayın işlem hattı oluşturma
  • GitHub'daki değişiklikleri işleme ve Azure'a otomatik olarak dağıtma
  • Azure Pipelines işlem hattını inceleyin

GitHub için uygulamanın kodunu yayımlayın

  1. Bir tarayıcı penceresi açın ve adresine gidin https://github.com .

  2. + Başlıktaki aşağı açılan düğmesine tıklayın ve yeni depo' ı seçin:

    GitHub Yeni depo seçeneği

  3. Sahip açılır penceresinde hesabınızı seçin ve Depo adı metin kutusuna basit-Feed-Reader girin.

  4. Depo oluştur düğmesine tıklayın.

  5. Yerel makinenizin komut kabuğunu açın. Basit akış okuyucusu git deposunun depolandığı dizine gidin.

  6. Var olan kaynağı uzak yukarı akış olarak yeniden adlandırın. Aşağıdaki komutu yürütün:

    git remote rename origin upstream
    
  7. GitHub üzerindeki deponun kopyasına işaret eden yeni bir Başlangıç noktası ekleyin. Aşağıdaki komutu yürütün:

    git remote add origin https://github.com/<GitHub_username>/simple-feed-reader/
    
  8. yerel Git deponuzu yeni oluşturulan GitHub deposuna yayımlayın. Aşağıdaki komutu yürütün:

    git push -u origin main
    
  9. Bir tarayıcı penceresi açın ve adresine gidin https://github.com/<GitHub_username>/simple-feed-reader/ . kodunuzun GitHub deposunda göründüğünü doğrulayın.

Yerel git dağıtımının bağlantısını kes

Yerel git dağıtımını aşağıdaki adımlarla kaldırın. Azure Pipelines (bir Azure DevOps hizmeti) her ikisi de bu işlevi değiştirir ve azaltır.

  1. Azure Portalaçın ve hazırlama (MyWebApp <unique_number> /hazırlama) Web uygulamasına gidin. Web uygulaması, portalın arama kutusuna hazırlama girilerek hızlı bir şekilde bulunabilir:

    hazırlama Web uygulaması arama terimi

  2. Dağıtım Merkezi' ne tıklayın. Yeni bir panel belirir. Önceki bölümde eklenen yerel git kaynak denetimi yapılandırmasını kaldırmak için bağlantıyı kes ' e tıklayın. Evet düğmesine tıklayarak kaldırma işlemini onaylayın.

  3. MyWebApp<unique_number> App Service gidin. Bir anımsatıcı olarak, App Service hızlı bir şekilde bulmak için portalın arama kutusu kullanılabilir.

  4. Dağıtım Merkezi' ne tıklayın. Yeni bir panel belirir. Önceki bölümde eklenen yerel git kaynak denetimi yapılandırmasını kaldırmak için bağlantıyı kes ' e tıklayın. Evet düğmesine tıklayarak kaldırma işlemini onaylayın.

Azure DevOps kuruluşu oluşturma

  1. bir tarayıcı açın ve Azure DevOps kuruluş oluşturma sayfasınagidin.
  2. Yeni kuruluş seçin
  3. Bilgileri onaylayın ve sonra devam' ı seçin.
  4. Dilediğiniz zaman kuruluşunuzda oturum açın, https://dev.azure.com/{yourorganization}

Azure DevOps kuruluşunda takım projesi oluşturma

  1. Organizasyonu seçin ve ardından Yeni proje' yi seçin.
  2. Proje adını Myfirstproject olarak girin ve görünürlüğü özel olarak seçin
  3. Create project (Proje oluştur) öğesini seçin.

Daha fazla bilgi için bkz. Proje oluşturma

Gerektiğinde şirket içinde barındırılan bir aracı yapılandırın

kodunuzu derlemek veya Azure Pipelines kullanarak yazılımınızı dağıtmak için en az bir aracınız olması gerekir. Azure Pipelines, Microsoft tarafından barındırılan veya şirket içinde barındırılan aracıda paralel işleri çalıştırabilirsiniz. ancak Azure Pipelines ücretsiz olarak paralel işler için son değişiklik, genel projeler için geçici olarak devre dışı bırakılır. Daha fazla ayrıntı için bkz. paralel işler Için yapılandırma ve ödeme.

kuruluş Ayarlar gidin ve > paralel işler Pipelines. Microsoft tarafından barındırılan ' ın altında 0 değerini görürseniz, işlem hattınızı çalıştırmak için Şirket içinde barındırılan bir aracıya ihtiyacınız vardır.

MS-barındırılan aracı

Bunu, Şirket içinde barındırılan aracılardabahsedilen ayrıntıları izleyerek oluşturabilirsiniz. başarılı yapılandırmadan sonra, kuruluş Ayarlar > aracı havuzları > {youragentname} altında kullanılabilir aracıyı görebileceksiniz

Şirket içinde barındırılan aracı

Azure Pipelines işlem hattını yapılandırma

Tamamlanacak üç farklı adım vardır. aşağıdaki üç bölümde bulunan adımların tamamlanması işlemsel DevOps işlem hattı ile sonuçlanır.

GitHub deposuna Azure DevOps erişim izni verme

  1. projenizde Pipelines sayfasına gidin. Sonra yeni bir işlem hattı oluşturmak için eylemi seçin:

    Kurulum oluştur düğmesi

  2. İşlem hattını Use the classic editor oluşturmak için kullanın.

    Klasik düzenleyiciyi kullan

  3. kaynak seçin bölümünde GitHub seçeneğini belirleyin::

    Kaynak GitHub seçin

  4. Azure DevOps GitHub deponuza erişebilmesi için yetkilendirme gerekir. bağlantı adı metin kutusunda <GitHub_username> GitHub bağlantı girin. Örnek:

    GitHub bağlantı adı

  5. GitHub hesabınızda iki öğeli kimlik doğrulaması etkinleştirilirse, kişisel erişim belirteci gereklidir. bu durumda, GitHub kişisel erişim belirteci ile yetkilendir bağlantısına tıklayın. yardım için resmi GitHub kişisel erişim belirteci oluşturma yönergelerine bakın. İzinlerin yalnızca Depo kapsamı gereklidir. Aksi takdirde, OAuth kullanarak Yetkilendir düğmesine tıklayın.

  6. istendiğinde GitHub hesabınızda oturum açın. sonra Azure DevOps kuruluşunuza erişim vermek için yetkilendir ' i seçin. Başarılı olursa, yeni bir hizmet uç noktası oluşturulur.

  7. Depo düğmesinin yanındaki üç nokta düğmesine tıklayın. Listeden <GitHub_username>/Simple-Feed-Reader deposunu seçin. Seç düğmesine tıklayın.

  8. El ile ve zamanlanmış yapılar açılır Için varsayılan daldan varsayılan dalı (Main) seçin. Devam düğmesine tıklayın. Şablon seçimi sayfası görüntülenir.

Derleme tanımını oluşturma

  1. Şablon seçimi sayfasında arama kutusuna ASP.NET Core seçin:

    ASP.NET Core sayfasında arama

  2. Şablon arama sonuçları görüntülenir. Uygulama şablonunun ASP.NET Core ve Uygula düğmesine tıklayın.

  3. Derleme tanımının Görevler sekmesi görüntülenir. Önceki adımda oluşturduysanız, kendinden konak Aracı havuzunu seçin.

    Kendinden konak aracı havuzunu seçin

    Not

    MS tarafından barındırılan aracı kullanıyorsanız açılan listeden Barındırılan > Azure Pipelines seçin.

  4. Tetikleyiciler sekmesini tıklatın.

  5. Sürekli tümleştirmeyi etkinleştir kutusunu işaretleyin. Dal filtreleri bölümünde Tür açılan listesinde Dahil'in ayar olduğunu onaylayın. Dal belirtimi açılan listesinde main olarak ayarlayın.

    Sürekli tümleştirme ayarlarını etkinleştirme

    Bu ayarlar, bir derlemenin deponun varsayılan dal (ana) dala ( ana) herhangi bir değişiklik GitHub neden olur. Sürekli tümleştirme, Değişiklikleri Azure'a GitHub ve azure'a otomatik olarak dağıtma bölümünde test edilir.

  6. Kayıt kuyruğuna & düğmesine tıklayın ve Kaydet seçeneğini belirleyin:

    Kaydet düğmesi

  7. Aşağıdaki kalıcı iletişim kutusu görüntülenir:

    Derleme tanımını kaydetme - kalıcı iletişim kutusu

    varsayılan klasörünü kullanın \ ve Kaydet düğmesine tıklayın.

Yayın işlem hattını oluşturma

  1. Takım projenizin Sürümler sekmesine tıklayın. Yeni işlem hattı düğmesine tıklayın.

    Sürümler sekmesi - Yeni tanım düğmesi

    Şablon seçimi bölmesi görüntülenir.

  2. Şablon seçimi sayfasında, arama kutusuna App Service Dağıtım'a tıklayın:

    Yayın işlem hattı şablonu arama kutusu

  3. Şablon arama sonuçları görüntülenir. Yuva şablonuyla Azure App Service üzerine gelin ve Uygula düğmesine tıklayın. Yayın işlem hattının İşlem Hattı sekmesi görüntülenir.

    Yayın işlem hattı işlem hattı sekmesi

  4. Yeni kutu içinde Ekle düğmesine Artifacts tıklayın. Yapıt ekle paneli görüntülenir:

    Yayın işlem hattı - Yapıt paneli ekleme

  5. Kaynak türü bölümünden Derleme kutucuğunu seçin. Bu tür yayın işlem hattının derleme tanımına bağlantısına olanak sağlar.

  6. Açılan listeden MyFirstProject Project seçin.

  7. Kaynak (Derleme tanımı) açılan listesinden MyFirstProject-ASP.NET Core-CI derleme tanımı adını seçin.

  8. Varsayılan sürüm açılan listesinden En son'ı seçin. Bu seçenek, derleme tanımının en son çalıştırması tarafından üretilen yapıtları derleme.

  9. Kaynak diğer ad metin kutusunda yer alan metni Drop ile değiştirin.

  10. Ekle düğmesine tıklayın. Artifacts bölümü değişiklikleri görüntülemek için güncelleştirmeler.

  11. Sürekli dağıtımları etkinleştirmek için şimşek simgesine tıklayın:

    Yayın işlem hattı Artifacts - şimşek simgesi

    Bu seçenek etkinleştirildiğinde, her yeni derleme kullanılabilir olduğunda bir dağıtım gerçekleşir.

  12. Sağda Sürekli dağıtım tetikleyicisi paneli görüntülenir. Özelliği etkinleştirmek için iki durumlu düğmeye tıklayın. Çekme isteği tetikleyicisi etkinleştirmek gerekli değildir.

  13. Derleme dalı filtreleri bölümünde Ekle açılan listesinden tıklayın. Derleme Tanımının varsayılan dal seçeneğini belirleyin. Bu filtre, sürümün yalnızca deponun varsayılan dallarından ( ana) GitHub derleme için tetikleyene neden olur.

  14. Kaydet düğmesine tıklayın. Sonuçta elde edilen Kalıcı kaydet iletişim kutusunda Tamam düğmesine tıklayın.

  15. 1. Aşama kutusuna tıklayın. Sağda bir Aşama paneli görünür. Aşama adı metin kutusunda 1. Aşama metnini Üretim olarak değiştirme.

    Yayın işlem hattı - Aşama adı metin kutusu

  16. Üretim kutusunda 1 aşama, 2 görev bağlantısına tıklayın:

    Yayın işlem hattı - Üretim ortamı link.png

    Ortamın Görevler sekmesi görüntülenir.

  17. Yuvaya Azure App Service görevine tıklayın. Ayarları, sağ panelde görünür.

  18. Azure aboneliği açılan listesinden App Service Azure aboneliğini seçin. Seçildikten sonra Yetkilendir düğmesine tıklayın.

  19. Uygulama türü açılan listesinden Web Uygulaması'ı seçin.

  20. Uygulama hizmeti adı açılan <unique_number/>mywebapp/>'yi seçin.

  21. Kaynak grubu açılan listesinden AzureTutorial'ı seçin.

  22. Yuva açılan listesinden hazırlama'ı seçin.

  23. _Görevler altında* Aracıda çalıştır _ öğesini seçin. Sağ bölmede Aracı İş'i görebilirsiniz.

  24. Önceki adımda oluşturduysanız, kendinden konak Aracı havuzunu seçin.

    Kendinden konak aracıyı seçin

    Not

    MS tarafından barındırılan aracı kullanıyorsanız açılan listeden Barındırılan > Azure Pipelines seçin.

  25. Kaydet düğmesine tıklayın.

  26. Varsayılan yayın işlem hattı adının üzerine gelin. Düzenlemek için kalem simgesine tıklayın. Ad olarak MyFirstProject-ASP.NET Core-CD kullanın.

    Yayın işlem hattı adı

  27. Kaydet düğmesine tıklayın.

GitHub'daki değişiklikleri işleme ve Azure'a otomatik olarak dağıtma

  1. SimpleFeedReader.sln'i Visual Studio.

  2. Bu Çözüm Gezgini Pages\Index.cshtml dosyasını açın. olarak <h2>Simple Feed Reader - V3</h2> <h2>Simple Feed Reader - V4</h2> değişir.

  3. Uygulamayı derlemek için Ctrl + Shift + B tuşlarına basın.

  4. Dosyayı veri deposuna GitHub. Visual Studio'nin Takım Gezgini sayfasındaki Değişiklikler sayfasını kullanın veya yerel makinenin komut kabuğunu kullanarak aşağıdaki komutu yürütün:

    git commit -a -m "upgraded to V4"
    
  5. Varsayılan dalda ( ana )değişikliği deponun kaynak uzak GitHub itin. Aşağıdaki komutta yer tutucusunu varsayılan {BRANCH} dal ile değiştirin main (kullanın):

    git push origin {BRANCH}
    

    Commit, deponun GitHub dalı ( ana ) içinde görünür. 'de işleme geçmişini https://github.com/<GitHub_username>/simple-feed-reader/commits/main görebilir.

    Derleme tanımının Tetikleyiciler sekmesinde sürekli tümleştirme etkinleştirildiğinden derleme tetiklenir:

    sürekli tümleştirmeyi etkinleştirme

  6. Pipelines. İşler ayrıntılarının detaya gitmelerini sağlarsanız CI işlem hattı ayrıntılarını görebilir ve her adımı izleyebilirsiniz.

    Derleme işlem hattını tetikleme

  7. Benzer şekilde, CD işlem hattının ayrıntılarını görmek için Sürümler sekmesine gidin. Her adımla ilgili daha fazla ayrıntı görmek için her zaman daha fazla ayrıntıya inebilirsiniz.

    Yayın işlem hattı

  8. Derleme başarılı olduktan sonra Azure'a dağıtım gerçekleşir. Tarayıcıda uygulamaya gidin. Başlıkta "V4" metninin göründüğüne dikkat:

    güncelleştirilmiş uygulama

İşlem hattını Azure Pipelines inceleme

Derleme tanımı

MyFirstProject-ASP.NET Core-CI adıyla bir derleme tanımı oluşturuldu. Tamamlandıktan sonra, derleme yayımlanacak.zip içeren bir dosya üretir. Yayın işlem hattı bu varlıkları Azure'a dağıtır.

Derleme tanımının Görevler sekmesi, kullanılan tek tek adımları listeler. Beş derleme görevi vardır.

derleme tanımı görevleri

  1. Geri yükleme — Uygulamanın dotnet restore uygulama paketlerini geri yüklemek için komutunu NuGet yürütür. Kullanılan varsayılan paket akışı nuget.org.

  2. Derleme — Uygulama kodunu dotnet build --configuration release derlemek için komutunu yürütür. Bu --configuration seçenek, bir üretim ortamına dağıtım için uygun olan kodun iyileştirilmiş bir sürümünü üretmek için kullanılır. Örneğin, bir hata ayıklama yapılandırması gerekli ise derleme tanımının Değişkenler sekmesinde BuildConfiguration değişkenlerini değiştirin.

  3. Test — Uygulamanın dotnet test --configuration release --logger trx --results-directory <local_path_on_build_agent> birim testlerini çalıştırmak için komutunu yürütür. Birim testleri **_/_Tests/.csproj glob deseniyle eşleşen tüm C# projelerinde yürütülür. Test sonuçları, seçeneği tarafından belirtilen konumdaki bir .trx dosyasına --results-directory kaydedilir. Herhangi bir test başarısız olursa derleme başarısız olur ve dağıtılabilir.

    Not

    Birim testlerinin çalıştığını doğrulamak için SimpleFeedReader.Tests\Services\NewsServiceTests.cs'yi değiştirerek testlerden birini bilerek bozabilirsiniz. Örneğin yönteminde Assert.True(result.Count > 0); Assert.False(result.Count > 0); olarak Returns_News_Stories_Given_Valid_Uri değiştirebilirsiniz. Değişikliği işle ve GitHub. Derleme tetiklenir ve başarısız olur. Derleme işlem hattı durumu başarısız olarak değişir. Değişikliği geri döndür, işle ve yeniden it. Derleme başarılı olur.

  4. Yayımla — Dağıtılacak dotnet publish --configuration release --output <local_path_on_build_agent> yapıtlarla bir .zip dosyası üretmek için komutunu yürütür. --outputseçeneği, dosyanın yayımlama .zip belirtir. Bu konum, adlı önceden tanımlanmış bir değişken geçerek $(build.artifactstagingdirectory) belirtilir. Bu değişken, derleme aracısı üzerinde c:\agent _ work\1\a gibi bir yerel yola genişler.

  5. Yapıt Yayımlama — Yayımla .zip tarafından üretilen bir dosya yayımlar. Görev, önceden .zip değişken olan bir parametre olarak dosya konumunu kabul $(build.artifactstagingdirectory) eder. .zip dosyası drop adlı bir klasör olarak yayımlanır.

Tanımıyla derleme geçmişini görüntülemek için derleme tanımının Özet bağlantısına tıklayın:

Derleme tanımı geçmişini gösteren ekran görüntüsü

Sonuçta elde edilen sayfada, daha fazla ayrıntı için tek tek derlemeye tıklayın.

Derleme tanımı özet sayfasını gösteren ekran görüntüsü

Bu özel derlemenin bir özeti görüntülenir. Yayımlanan bağlantıya tıklayın ve derleme tarafından üretilen bırakma klasörünün listelenmiş olduğunu fark edin:

Derleme tanımı yapıtlarını gösteren ekran görüntüsü - klasörü bırakma

Derleme Artifacts

Yayımlanan yapıtları incelemek için üç noktayı kullanın ve İndirilen yapıtlar bağlantılarına tıklayın.

Yayın işlem hattı

MyFirstProject-ASP.NET Core-CD adıyla bir yayın işlem hattı oluşturuldu:

Yayın işlem hattına genel bakışı gösteren ekran görüntüsü

Yayın işlem hattının iki önemli bileşeni, Artifacts aşamalarıdır. Artifacts bölümündeki kutuya tıklarken aşağıdaki panel gösterilir:

Yayın işlem hattı yapıtlarını gösteren ekran görüntüsü

Kaynak (Derleme tanımı) değeri, bu yayın işlem hattının bağlı olduğu derleme tanımını temsil eder. Derleme .zip başarılı bir şekilde çalıştırarak üretilen dosya, Azure'a dağıtım için Üretim ortamına sağlanır. Yayın işlem hattı görevlerini görüntülemek için Üretim ortamı kutusunda 1 aşama, 2 görev bağlantısına tıklayın:

Yayın işlem hattı görevlerini gösteren ekran görüntüsü

Yayın işlem hattı iki görevden oluşur: Yuvaya Azure App Service ve Yönetme - Azure App Service Değiştirme. İlk göreve tıklarken aşağıdaki görev yapılandırması ortaya çıkar:

Yayın işlem hattı görevlerini gösteren ekran görüntüsü

Azure aboneliği, hizmet türü, web uygulaması adı, kaynak grubu ve dağıtım yuvası dağıtım görevsinde tanımlanır. Paket veya klasör metin kutusu,.zip ve mywebapp <unique_number> web uygulamasının hazırlama yuvasına dağıtılacak dosya yolunu içerir.

Yuva değiştirme görevine tıklarken aşağıdaki görev yapılandırması ortaya çıkar:

Yayın işlem hattı yuva değiştirme görevini gösteren ekran görüntüsü

Abonelik, kaynak grubu, hizmet türü, web uygulaması adı ve dağıtım yuvası ayrıntıları sağlanır. Üretimle Değiştir onay kutusu işaretlidir. Sonuç olarak, hazırlama yuvasına dağıtılan bitler üretim ortamıyla değiştirildi.

Ek okuma