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
Bir tarayıcı penceresi açın ve adresine gidin
https://github.com.+ Başlıktaki aşağı açılan düğmesine tıklayın ve yeni depo' ı seçin:

Sahip açılır penceresinde hesabınızı seçin ve Depo adı metin kutusuna basit-Feed-Reader girin.
Depo oluştur düğmesine tıklayın.
Yerel makinenizin komut kabuğunu açın. Basit akış okuyucusu git deposunun depolandığı dizine gidin.
Var olan kaynağı uzak yukarı akış olarak yeniden adlandırın. Aşağıdaki komutu yürütün:
git remote rename origin upstreamGitHub ü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/yerel Git deponuzu yeni oluşturulan GitHub deposuna yayımlayın. Aşağıdaki komutu yürütün:
git push -u origin mainBir 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.
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:

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.
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.
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
- bir tarayıcı açın ve Azure DevOps kuruluş oluşturma sayfasınagidin.
- Yeni kuruluş seçin
- Bilgileri onaylayın ve sonra devam' ı seçin.
- Dilediğiniz zaman kuruluşunuzda oturum açın,
https://dev.azure.com/{yourorganization}
Azure DevOps kuruluşunda takım projesi oluşturma
- Organizasyonu seçin ve ardından Yeni proje' yi seçin.
- Proje adını Myfirstproject olarak girin ve görünürlüğü özel olarak seçin
- 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.

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

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
projenizde Pipelines sayfasına gidin. Sonra yeni bir işlem hattı oluşturmak için eylemi seçin:

İşlem hattını
Use the classic editoroluşturmak için kullanın.
kaynak seçin bölümünde GitHub seçeneğini belirleyin::

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

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.
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.
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.
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
Şablon seçimi sayfasında arama kutusuna ASP.NET Core seçin:

Şablon arama sonuçları görüntülenir. Uygulama şablonunun ASP.NET Core ve Uygula düğmesine tıklayın.
Derleme tanımının Görevler sekmesi görüntülenir. Önceki adımda oluşturduysanız, 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.
Tetikleyiciler sekmesini tıklatın.
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.

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.
Kayıt kuyruğuna & düğmesine tıklayın ve Kaydet seçeneğini belirleyin:

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

varsayılan klasörünü kullanın \ ve Kaydet düğmesine tıklayın.
Yayın işlem hattını oluşturma
Takım projenizin Sürümler sekmesine tıklayın. Yeni işlem hattı düğmesine tıklayın.

Şablon seçimi bölmesi görüntülenir.
Şablon seçimi sayfasında, arama kutusuna App Service Dağıtım'a tıklayın:

Ş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.

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

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.
Açılan listeden MyFirstProject Project seçin.
Kaynak (Derleme tanımı) açılan listesinden MyFirstProject-ASP.NET Core-CI derleme tanımı adını seçin.
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.
Kaynak diğer ad metin kutusunda yer alan metni Drop ile değiştirin.
Ekle düğmesine tıklayın. Artifacts bölümü değişiklikleri görüntülemek için güncelleştirmeler.
Sürekli dağıtımları etkinleştirmek için şimşek simgesine tıklayın:

Bu seçenek etkinleştirildiğinde, her yeni derleme kullanılabilir olduğunda bir dağıtım gerçekleşir.
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.
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.
Kaydet düğmesine tıklayın. Sonuçta elde edilen Kalıcı kaydet iletişim kutusunda Tamam düğmesine tıklayın.
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.

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

Ortamın Görevler sekmesi görüntülenir.
Yuvaya Azure App Service görevine tıklayın. Ayarları, sağ panelde görünür.
Azure aboneliği açılan listesinden App Service Azure aboneliğini seçin. Seçildikten sonra Yetkilendir düğmesine tıklayın.
Uygulama türü açılan listesinden Web Uygulaması'ı seçin.
Uygulama hizmeti adı açılan <unique_number/>mywebapp/>'yi seçin.
Kaynak grubu açılan listesinden AzureTutorial'ı seçin.
Yuva açılan listesinden hazırlama'ı seçin.
_Görevler altında* Aracıda çalıştır _ öğesini seçin. Sağ bölmede Aracı İş'i görebilirsiniz.
Önceki adımda oluşturduysanız, 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.
Kaydet düğmesine tıklayın.
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.

Kaydet düğmesine tıklayın.
GitHub'daki değişiklikleri işleme ve Azure'a otomatik olarak dağıtma
SimpleFeedReader.sln'i Visual Studio.
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.Uygulamayı derlemek için Ctrl + Shift + B tuşlarına basın.
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"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ştirinmain(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/maingörebilir.Derleme tanımının Tetikleyiciler sekmesinde sürekli tümleştirme etkinleştirildiğinden derleme tetiklenir:

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.

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.

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:

İş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.

Geri yükleme — Uygulamanın
dotnet restoreuygulama paketlerini geri yüklemek için komutunu NuGet yürütür. Kullanılan varsayılan paket akışı nuget.org.Derleme — Uygulama kodunu
dotnet build --configuration releasederlemek için komutunu yürütür. Bu--configurationseç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.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-directorykaydedilir. 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);olarakReturns_News_Stories_Given_Valid_Urideğ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.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.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:

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

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:


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ı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:

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ı 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:

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:

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.