Yayın işlem hatları

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde, derleme ve yayın işlem hatlarıtanımlarolarak adlandırılır, çalışmalaraderlemelerdenir, hizmet bağlantılarınahizmet uç noktalarıdenir, aşamalarortamlarolarak adlandırılır ve işleraşamalarolarak adlandırılır.

Not

Bu makalede klasik yayın işlem hatları ele alınmaktadır. CI/CD işlem hatlarını yazmak için YAML 'yi kullanmak istiyorsanız, bkz. ilk işlem hattınızı oluşturma.

Azure Pipelines yayın işlem hatları , ekibinizin müşterilerinize daha hızlı bir şekilde yazılım sunmaya ve daha düşük risklere yardımcı olur. Her türlü üretime kadar birçok aşamada yazılımınızın test ve teslimini tamamen otomatik hale getirebilirsiniz. Ya da onaylar ve isteğe bağlı dağıtımlarile yarı otomatik süreçler ayarlayabilirsiniz.

Yayın ardışık düzenine genel bakış

yayınları ve dağıtımları anlamak için Azure Pipelines yayınları inceleyin ve yayın işlem hatlarını çalışırken görmek için aşağıdaki videoyu izleyin.

Yayın işlem hatları nasıl çalışır?

Yayın işlem hatları, Azure Pipelines içinde işlem hatları, aşamalar, görevler, yayınlar ve dağıtımlarınız için verileri depolar.

Azure sürüm ardışık düzen bileşenleri

Azure Pipelines her dağıtımın parçası olarak aşağıdaki adımları çalıştırır:

  1. dağıtım öncesi onayı: yeni bir dağıtım isteği tetiklendiğinde, bir aşamayı bir aşamaya dağıtmaya başlamadan önce dağıtım öncesi onayına gerek olup olmadığını denetler Azure Pipelines. Gerekirse, uygun onaylayanlara e-posta bildirimleri gönderilir.

  2. dağıtım işini sıraya al: Azure Pipelines, dağıtım işini kullanılabilir bir otomasyon aracısındazamanlar. Aracı, dağıtımda görevleri çalıştırılabilen bir yazılım parçasıdır.

  3. Aracı seçimi: bir Otomasyon Aracısı işi seçer. Yayın işlem hatları için aracılar, Azure Pipelines derlemelerinizi çalıştıran aracılarla tamamen aynıdır. Sürüm ardışık düzeni, çalışma zamanında uygun bir aracı seçmek için ayarları içerebilir.

  4. Yapıtları indir: Aracı, indirmeyi atlamak için kabul etmemiş olmanız kaydıyla, bu yayında belirtilen tüm yapıtları indirir. aracı şu anda iki tür yapıtı anlamıştır: Azure Pipelines yapıtlar ve jenkins yapıtları.

  5. Dağıtım görevlerini çalıştırın: aracı daha sonra, uygulamayı bir aşama için hedef sunuculara dağıtmak üzere Dağıtım işindeki tüm görevleri çalıştırır.

  6. İlerleme günlükleri oluşturma: Aracı, dağıtımı çalıştırırken her adım için ayrıntılı Günlükler oluşturur ve bu günlükleri Azure Pipelines geri gönderir.

  7. dağıtım sonrası onayı: bir aşamaya dağıtım tamamlandığında, bu aşama için gerekli bir dağıtım sonrası onayı olup olmadığını denetler Azure Pipelines. Hiçbir onay gerekmiyorsa veya gerekli bir onay tamamlandıktan sonra, bir sonraki aşamaya dağıtımı tetiklemeye devam eder.

Yayın işlem hatları ve derleme işlem hatları ayrı Uıof 'a sahiptir. İşlem hatlarındaki başlıca farklılıklar, farklı tetikleyici türleri ve onay ve kapıları desteği için yayın işlem hatlarında desteklenir.

Nasıl yaparım? sürüm ardışık düzeni kullanılsın mı?

uygulamanız için bir yayın işlem hattı yazarak Azure Pipelines yayınları kullanmaya başlayabilirsiniz. Bir yayın işlem hattını yazmak için, uygulamayı ve yayınişlem hattını oluşturan yapıtları belirtmeniz gerekir.

Yapıt , uygulamanızın dağıtılabilir bir bileşenidir. Genellikle sürekli tümleştirme veya derleme işlem hattı aracılığıyla oluşturulur. Azure Pipelines yayınları, çok çeşitli yapıt kaynaklarıtarafından oluşturulan yapıtları dağıtabilir. Azure Pipelines oluşturma, jenkins veya ekip şehri gibi.

Aşamaları kullanarak yayın işlem hattını tanımlayın ve onaylarıkullanarak bir aşamayı bir aşamaya veya dışına sınırlayın. İşleri ve görevlerikullanarak her aşamada Otomasyonu tanımlayın. Dağıtımları otomatik olarak ne zaman kullanıma almak gerektiğini denetlemek için Otomasyon ve Tetikleyicilerinizi genelleştirmek için değişkenleri kullanın.

Yayın ardışık düzeni aracılığıyla modellenebilir bir sürüm ardışık düzeni örneğine bakın:

Yayın tanımı

Bu örnekte, bir Web sitesinin sürümü, her biri farklı bir derleme ardışık düzeninde bulunan iki derleme (yapıt) için belirli sürümler toplanarak oluşturulur. Yayın ilk olarak bir geliştirme aşamasına dağıtılır ve paralel olarak iki QA aşamasına geçirilir. Dağıtım her iki QA aşamasında de başarılı olursa, yayın üretim halkası 1 ' e ve ardından üretim halkası 2 ' ye dağıtılır. Her üretim halkası, dünyanın dört bir yanındaki çeşitli konumlarda dağıtılan aynı Web sitesinin birden fazla örneğini temsil eder.

Dağıtım otomasyonunun bir aşamada nasıl modellendirildiğini gösteren aşağıdaki örneğe bakın:

dağıtım tanımı

Bu örnekte, bir , dünyanın dört bir yanındaki web sitelerine üretim halkası 1 içinde paralel olarak dağıtmak için kullanılır. Tüm bu dağıtımlar başarılı olduktan sonra, önceki sürümden gelen trafiği daha yeni sürüme değiştirmek için ikinci bir iş kullanılır.

Not

Tfs 2015: işler ve çatal/JOIN dağıtımları TFS 2015 ' de kullanılamaz.

İleri

Aşağıdakilerin nasıl yapılacağını öğrenmek için aşağıdaki makalelere göz atın:

Taslak sürümü nedir?

yayını oluştururkendeğişkenleri değiştirebildiğinden taslak yayınlar Azure Pipelines kullanımdan kaldırılmıştır.

Taslak sürümü oluşturma, dağıtıma başlamadan önce, rol izinlerinize bağlı olarak, sürüm ve görevler için bazı ayarları düzenlemenize olanak tanır. Değişiklikler yalnızca bu sürüm için geçerlidir ve özgün işlem hattının ayarlarını etkilemez.

"..." Kullanarak taslak yayın oluştur Yayınlar listesinde üç nokta bağlantısı:

Yayınlar listesinde taslak yayın oluşturma

... veya ardışık düzen tanımı sayfasındaki yayın açılır:

Ardışık düzen tanımı sayfasında taslak yayın oluşturma

Taslak yayın düzenlemesini tamamladıktan sonra taslak sürümü araç çubuğundan Başlat ' ı seçin.

Taslak yayın başlatma

Bir yayın oluşturulduğunda düzenlemek istediğim değişkenleri belirtin Nasıl yaparım??

Yayın işlem hattının değişkenler sekmesinde, yeni değişkenler eklediğinizde, bir yayın oluşturulduğunda ve sıraya alındığı zaman düzenlemek istediğiniz değişkenlerin serbest bırakma zamanında ayarlanabilir olarak ayarlayın.

Bir yayın oluşturulduğunda ve sıraya alındığı zaman düzenlenecek değişkenleri belirtme

Ardından, yeni bir yayın oluşturduğunuzda, bu değişkenlerin değerlerini düzenleyebilirsiniz.

Bir yayın oluşturulduğunda ve sıraya alındığı zaman değişkenleri düzenleniyor

Nasıl yaparım? tümleştirme ve rapor yayınlama durumu?

Yayın işlem hatları tümleştirmeleriyle, dağıtım durumunuzu depo konağınız, İş öğeleriniz (bağlantılar veya dağıtımlar) veya JIRA sorunları gibi birden çok kaynağa rapor edebilirsiniz.

Yayın işlem hattı tümleştirmelerinizi yapılandırmak için, Seçenekler sekmesini seçin ve ardından yayın işlem hattı tanımınızdan tümleştirmeler ' i seçin.

Yayın işlem hattınızda sürüm tümleştirmelerine nasıl erişileceğini gösteren ekran görüntüsü.

Depo konağına dağıtım durumunu bildir

kaynak kodunuz Azure Repos ise, bu seçenek Azure Repos sayfalarında bir durum rozet görüntüler. Rozet, belirli bir kaydın dağıtıldığını ve dağıtımın başarılı veya başarısız olduğunu gösterir. Varsayılan olarak, yayın işlem hattınızdaki tüm aşamalar için bir dağıtım durumu gönderilir. Dağıtım durumunu göstermek için belirli aşamalar da seçebilirsiniz.

Dağıtım durumu Azure Repos aşağıdaki alanlarında görüntülenir:

  • Dosyalar: Seçili Dal için en son dağıtımın durumunu gösterir.

    Dosyalar için işlem hattı durumunu gösteren ekran görüntüsü.

  • İşlemeler: her bir işleme ait dağıtım durumunu gösterir (Sürekli Tümleştirme tetikleyicisi 'nin etkinleştirilmesini gerektirir).

    Işlemeler için işlem hattı durumunu gösteren ekran görüntüsü.

  • Dallar: her dal için en son dağıtımın durumunu gösterir.

    Dallar için işlem hattı durumunu gösteren ekran görüntüsü.

Not

kaynak kodunuz Azure Repos değilse, dağıtım durumunuzu dış depolarda göstermek için dağıtım durumu rozetini etkinleştir özelliğini kullanabilirsiniz.

Iş için dağıtım durumunu raporla

Yayın işlem hattınızı iş öğelerinize bağlamak istiyorsanız bu seçeneği belirleyin. Dağıtım durumu, iş öğesinin Bağlantılar sekmesinde görüntülenir.

Bir iş öğesinin görev sekmesinde bağlı yayınları gösteren ekran görüntüsü.

Dağıtım durumunu Boards olarak raporla

Yayın işlem hattınızı iş öğelerinize bağlamak ve iş öğelerinizin Ayrıntılar sekmesinde dağıtım durumunu göstermek istiyorsanız bu seçeneği belirleyin.

Bir iş öğesinin Ayrıntılar sekmesinde bağlı yayınları gösteren ekran görüntüsü.

Dağıtım durumu rozetini etkinleştir

Dağıtım durumunu dış bir Web sitesinde göstermek istiyorsanız bu seçeneği belirleyin. Bir dağıtım durumunuz görselleştirmesini sağlamak için aşama rozetini kopyalayabilir ve Web sitenize ekleyebilirsiniz:

  1. Dağıtım durumu rozetini etkinleştir' i seçin.

  2. Durumunu göstermek istediğiniz aşamaları seçin. Varsayılan olarak, tüm aşamalar seçilidir.

  3. rozet URL 'sini kopyalayın ve dağıtım durumunu göstermek için web sitenize veya benioku dosyası GitHub ekleyin.

    Yayın durumu rozetini gösteren ekran görüntüsü.

Dağıtım durumunu Jira 'ya bildir

Yayın işlem hattınızı JIRA sorunlarına bağlamak istiyorsanız bu seçeneği belirleyin. jira için Azure Pipelines yüklemeli ve Azure DevOps kuruluşunuzu jıra hesabınızla bağlamanız gerekir. Daha fazla ayrıntı için Jira tümleştirme öğreticisine göz atın.

Bunu tanımlayan işlem hattı yerine bir yayını ne zaman düzenleyebilirim?

Daha önce dağıtılan bir sürümün onaylarını, görevlerini ve değişkenlerini düzenleyebilirsiniz. Bu değerleri, yayının oluşturulduğu ardışık düzende düzenlenecek şekilde kullanın. Ancak, bu düzenlemeler yalnızca yapıtları yeniden dağıtırken oluşturulan yayın için geçerlidir. Düzenlemelerinizin tüm gelecek yayınlar ve dağıtımlar için uygulanmasını istiyorsanız, bunun yerine yayın ardışık düzenini düzenleme seçeneğini belirleyin.

Ne zaman ve neden bir yayını iptal edebilirim?

Bir yayınoluşturduktan sonra, yapıtları bu yayında tanımlanan herhangi bir aşamaya yeniden dağıtabilirsiniz. Bu, düzenli el ile yayınlar yapmak veya bu sürümü kullanarak yapıtları yeniden dağıtan bir sürekli tümleştirme aşaması tetikleyicisi ayarlamak istediğinizde yararlıdır.

Yayını yeniden kullanmayı planlamıyorsanız veya yapıtları yeniden dağıtmak için kullanılmasını istemiyorsanız, işlem hattının ardışık düzen görünümündeki üç nokta (...) simgesinden açılan kısayol menüsünü kullanarak yayını bırakabilirsiniz.

Yayını bırakma

Dağıtım devam ederken bir yayını iptal edemezsiniz, önce dağıtımı iptal etmeniz gerekir.

Yayın özetlerini e-posta ile göndermek Nasıl yaparım? mı?

Bir yayın tetiklendikten ve tamamlandıktan sonra, Özeti paydaşlara e-posta ile gönderin. Ardışık düzenin işlem hattı görünümündeki üç nokta (...) simgesinden açılan menüdeki e-posta gönder seçeneğini kullanın.

Yayın özetini e-posta ile gönderme

Yayın Özeti postası gönder penceresinde, yayın özetinin yalnızca belirli bölümlerini seçerek e-postada gönderilen bilgileri daha fazla özelleştirebilirsiniz.

Yeni sürümlerin adlarını yönetmek Nasıl yaparım? mı?

Yayın işlem hattı için yayınların adları, varsayılan olarak ardışık olarak numaralandırılır. İlk sürüm yayın-1, sonraki sürüm ise yayın-2, vb. olarak adlandırılır. Bu adlandırma şemasını, yayın adı biçim maskesini düzenleyerek değiştirebilirsiniz. Yayın işlem hattının Seçenekler sekmesinde, genel sayfasındaki yayın adı biçimi özelliğini düzenleyin.

Biçim maskesini belirtirken, önceden tanımlanmış aşağıdaki değişkenleri kullanabilirsiniz.

Değişken Açıklama
Rev: RR En az belirtilen basamak sayısına sahip otomatik olarak artan sayı.
Tarih/Tarih: MMddyy Geçerli tarih, varsayılan olarak mmddyybiçimindedir. M/AA/AAA/MMMM, d/gg/ddd/gggg, y/yy/yyyy/yyyy, h/hh/H/HH, M/SS 'nin tüm birleşimleri desteklenir.
System. TeamProject Bu derleme 'nin ait olduğu projenin adı.
Release. ReleaseID Projedeki tüm yayınlar genelinde benzersiz olan yayın KIMLIĞI.
Release. DefinitionName Geçerli yayının ait olduğu yayın ardışık düzeninin adı.
Build. BuildNumber Sürümde bulunan yapı numarası. Bir yayının birden çok derlemesi varsa, bu, birincil derlemesayısıdır.
Build. DefinitionName Yayında bulunan derleme işlem hattı adı. Bir yayının birden çok derlemesi varsa, birincil yapınınişlem hattı adıdır.
Yapıt. ArtifactType Yayınla bağlantılı yapıt kaynağının türü. örneğin, bu Azure Pipelines veya jenkinsolabilir.
Build. SourceBranch Birincil yapıt kaynağınındalı. Git için, dalın başvuruları/kafaları/Mainolması durumunda bu ana formdur. Team Foundation Sürüm Denetimi için, çalışma alanının kök sunucu yolu $/teamproject/branchise bu daldır . Bu değişken Jenkins veya diğer yapıt kaynakları için ayarlanmadı.
Özel değişken Yayın ardışık düzeninde tanımlanan genel yapılandırma özelliğinin değeri. Yayın günlüğü komutlarını kullanarak sürüm adını özel değişkenlerle güncelleştirebilirsiniz

Örneğin, sürüm adı biçimi Release $(Rev:rrr) for build $(Build.BuildNumber) $(Build.DefinitionName)Release $(Rev:rrr) for build $(Build.BuildNumber) $(Build.DefinitionName)gibi adlara sahip yayınlar oluşturur.

Yayınlar için bekletme süresini mi Nasıl yaparım? belirtin?

Bu işlem hattının sürümlerinin ne kadar süreyle korunması gerektiğini özelleştirebilirsiniz. Daha fazla bilgi için bkz. yayın bekletme.

Yayın geçmişini kullanmak ve yönetmek Nasıl yaparım? mı?

yayın işlem hattını her kaydedişinizde Azure Pipelines değişikliklerin bir kopyasını tutar. Bu kopya, özellikle bir dağıtım hatasında hata ayıkladığınızda, değişiklikleri sonraki bir noktada karşılaştırmanızı sağlar.

İş öğeleri ve derlemeler/yayınlar arasında izlenebilirlik yaparken aşağıdaki iki durum vardır:

  • Bir yapılandırmanın parçası olarak yeni oluşturulan iş öğelerini listeleyin. Bunu, bir yapı örneğine bakdığınızda bulabilirsiniz.
  • Bu iş öğesinin oluşturulduğu derlemeleri listeleyin. Listeyi bir iş öğesi formundaki "geliştirme" bölümünde bulabilirsiniz. "Yeni çalışmayı bu yapıda otomatik olarak bağla" ayarı, ilk madde işaretli öğeyi nasıl hesapladığımızda hiçbir şey yapmaz. Yalnızca ikinci madde işaretli öğeyi nasıl hesapladığımızda etkiler.

İlk madde işaretinin hesaplaması, bir derleme için aşağıdaki gibidir: Örneğin, yeni bir yapı başladığınızı varsayalım. Ayar ne olursa olsun, derleme için yeni işlemeler listesini hesapladık. Aşağıdaki görevleri yaptık:

  • Şimdi oluşturulmakta olan COMMIT işlemesini bulduk.
  • Aynı dalın (Build. SourceBranch) son başarılı derlemede oluşturulan C1 işlemesini bulduk.
  • C1 ve C2 (yürütme ağacında) arasındaki tüm işlemeleri bulduk.

Aynı dalda bilinen son başarılı derleme olmaması olabilir. Örneğin, bir dalı bir dalda ilk kez çalıştırdığınızda veya bir daldaki tüm önceki derlemeler silinmişse (muhtemelen bekletme ilkeleri aracılığıyla). Bu durumlarda liste uzun olabilir.

İşlemeler listesini aldıktan sonra, bu işlemelerin her biriyle ilişkili tüm iş öğelerini listeliyoruz. Bu, bir derlemede gördüğünüz listesidir.

Hemen kullanmaya başlayın!

Aşağıdaki adımları tamamlayın:

  1. Çok aşamalı yönetilen bir yayın işlem hattı ayarlama

  2. Onayları ve kapıları kullanarak dağıtımları yönetme