Team Foundation Server 2018 RC1 Sürüm Notları

Last Update: 25.9.2017

Bu makalede, en yeni Team Foundation Server 2018 RC1 sürümüyle ilgili bilgiler bulabilirsiniz. İndirmek için düğmeye tıklayın.

En son Team Foundation Server sürümünü indirin

Team Foundation Server 2018 hakkında daha fazla bilgi edinmek için Team Foundation Server Gereksinimleri ve Uyumluluğu sayfasına bakın.


Geribildirim

Görüşlerinizi almaktan mutluluk duyarız ! Geliştirici Topluluğu portalı aracılığıyla bir sorunu bildirip izleyebilir ve Stack Overflow’da öneri alabilirsiniz. Her zaman olduğu gibi, öncelik vermemizi istediğiniz fikirleriniz varsa UserVoice’a giderek fikrinizi ekleyin veya mevcut bir fikri oylayın.


Yayın Tarihi: 30 Ağustos 2017

Özet: TFS 2018 RC1’deki Team Server Foundation Güncelleştirmeleri

Team Foundation Server 2018’e birçok yeni ve değerli özellik eklendi. Önemli noktalardan bazıları:

Özet: Bu Yayındaki Yenilikler

Bu sürümle birlikte kaldırılan özellikler:


Ayrıntılar: Bu Yayındaki Yenilikler

İş Öğesi İzleme

Web’de Proje Oluşturma Sihirbazı

Web erişiminden Takım Projesi oluşturma deneyimi geliştirildi. Artık Visual Studio istemcisinde Takım Projesi oluşturulurken kullanılabilen çoğu özelliği içeriyor. Web arabirimini kullanmanın avantajı, eşleşen bir Visual Studio sürümü gerektirmemesidir. Visual Studio ile web sürümü arasındaki fark, web sürümünün raporlarınızı SSRS’de sağlamamasıdır. Takım Projesi oluşturma deneyiminin web sürümünü kullandıysanız Uygulama Katmanında tfsconfig komutunu çalıştırarak SSRS raporlarını sağlayabilir veya bunları güncelleştirebilirsiniz. Ayrıntıları görmek için bkz. proje raporları ekleme.

Web’de İşlem Şablonu Yöneticisi

TFS 2018 sürümüyle birlikte web erişimini kullanarak işlem şablonlarınızı karşıya yükleyebilirsiniz. Web arabirimi, işlem şablonlarınızla etkileşim kurmak için Visual Studio’nun doğru sürümünü yüklemenizi gerektirmediğinden çok daha kolay bir deneyimdir. Visual Studio 2017 Güncelleştirme 4 ve önceki sürümler İşlem Şablonu Yöneticisi iletişim kutusunda görünmeye devam etse de web arabirimini kullanmanız önerilir. Visual Studio 2017 Güncelleştirme 5 ve üzeri sürümlerde otomatik olarak web’e yönlendirilirsiniz.

Mobil iş öğesi formu

İş öğeleri için iyileştirilmiş bir genel görünümün (Şekil 1) yanı sıra size atanan, takip ettiğiniz ya da ziyaret ettiğiniz veya yakın zamanda düzenlediğiniz iş öğeleriyle telefonunuzdan etkileşim kurmanın daha kolay bir yolunu sağlayan eksiksiz, uçtan uca bir deneyim sunuyoruz.

Mobil iş öğesi sorgusu

(Şekil 1) Mobil iş öğesi sorgusu

Bu deneyim harika görünmekle kalmaz, tüm alan türleri için iyileştirilmiş denetimleri de destekler (Şekil 2).

Mobil iş öğesi formu

(Şekil 2) Mobil iş öğesi formu

Yeni mobil gezinti (Şekil 3) ile kullanıcılar TFS’nin mobil kullanıma uygun diğer tüm kısımlarına ulaşabilir ve diğer merkezlerle iletişim kurmaları gerektiğinde tam masaüstü sitesine dönebilir.

Mobil gezinti

(Şekil 3) Mobil gezinti

Kapsamları, Kanban panolarını, sprint’leri ve sorguları filtreleme

Tüm iş öğesi izleme kılavuzu deneyimleriniz (sorgular, kapsamlar, Kanban panoları, sprint kapsamları ve test çalıştırması yönetimi) artık ortak, tutarlı filtreleme bileşenimizi (Şekil 4) kullanıyor. Görüntülenen sütunlarda anahtar sözcük filtresi uygulama ve etiketleri seçmenin ötesinde iş öğesi türlerini, durumları ve atanan kişileri de filtreleyerek aradığınız iş öğelerine hızla ulaşabilirsiniz.

Sorguları filtreleme

(Şekil 4) Sorguları filtreleme

Bir Kanban kartındaki boş alanları göstermek için genişletin

Bugün, bir karta ek alanlar ekleyip pano ayarlarından boş alanları gizleyerek (Şekil 5) panodaki gereksiz dağınıklıktan kurtulabilirsiniz. Bu özelliğin olumsuz tarafı, boş bir alan gizlendikten sonra bu alanı güncelleştirmenin tek yolunun iş öğesi formunu açmak olmasıydı. Kanban kartlarında yeni kullanıma sunulan genişletme seçeneği ile artık panonun tamamında boş alanları gizlemenize rağmen bir karttaki belirli bir alanı güncelleştirmek için tek tıklamayla erişim imkanınız vardır. Gizli kartı güncelleştirmek için tek yapmanız gereken, kartın üzerine gelip kartın altındaki aşağı bakan köşeli çift ayracı bulmaktır.

Gizli alan

(Şekil 5) Kanban kartındaki gizli alan

Alanı güncelleştirmek için kartın altındaki aşağı bakan köşeli çift ayraca tıklayın (Şekil 6).

Gizli alanı güncelleştirme

(Şekil 6) Kanban kartındaki gizli alanı güncelleştirme

Uzantılar iş öğesi kaydetmeyi engeller

İş öğesi formu özel denetimleri, grupları ve sayfaları artık iş öğesi formu kaydedilmeden önce verilerin doğrulanması ve kullanıcının gerekli bilgileri doldurduğundan emin olunması için iş öğesi kaydını engelleyebilir.

Sürüm Denetimi

Çatallar

TFS 2018, Git çatalları için destek ekler (Şekil 7). Çatal, deponun sunucu tarafındaki bir kopyasıdır. Çatalları kullanarak, doğrudan işleme erişimi vermeden birçok farklı kişinin deponuza katkı sağlamasına izin verebilirsiniz. Doğrudan erişimi olmayan bu kişiler, çalışmalarını deponun kendilerine ait çatallarına işleyebilir (Şekil 7). Bu sayede, değişiklikleri merkezi depoya kabul etmeden önce bir çekme isteğinde gözden geçirme fırsatınız olur.

Git çatalları

(Şekil 7) Git çatalları

TFVC depoları için web’den düzenlemeyi kapatma ayarı

TFVC kullanan takımlar, genellikle kod kalitesinden emin olmak için Visual Studio’daki iade ilkelerini kullanır. Ancak, iade ilkeleri istemcide uygulandığından web’den düzenlenen kod aynı ilkelere tabi olmaz.

Bazı müşteriler, iade ilkelerini atlayan değişikliklere karşı koruma sağlamak amacıyla web’den düzenlemeyi devre dışı bırakmayı sağlayan bir özellik istedi. TFVC için proje/depo temelli olarak web’den düzenlemeyi (ekleme silme, yeniden adlandırma ve düzenleme) kapatmaya yönelik bir özellik ekledik.

Web’den düzenlemeye izin vermemek istiyorsanız Dosyalar sayfasından Ayarlar’a ve sonra Sürüm Denetimi’ne gidin (Şekil 8). Ağaçtaki TFVC deposuna tıklayın, Seçenekler özetine gidin ve Bu TFVC deposu için web’den düzenlemeyi etkinleştir seçeneğinin işaretini kaldırın. Web’den düzenleme varsayılan olarak etkindir. Not: Projeye Genel Bakış sayfasından BENİOKU dosyasının düzenlenmesi bundan etkilenmez.

Web’den düzenlemeyi kapatma

(Şekil 8) Web’den düzenlemeyi kapatma

Bir projede web’den düzenleme devre dışıyken web düzenlemesi yapmaya çalıştığınızda, buna izin verilmediğine ilişkin bildirim alırsınız (Şekil 9).

Web’den düzenlemeye izin verilmiyor iletişim kutusu

(Şekil 9) Web’den düzenlemeye izin verilmiyor iletişim kutusu

Bu özellik, ilgili bir öneri temel alınarak geliştirilmiştir.

Eski dalları tanımlama

Artık ihtiyacınız olmayan dalları silerek deponuzu düzenli tutmanız, takımların önem verdikleri dalları bulmasına ve doğru ayrıntı düzeyinde sık kullanılanlar ayarlamasına imkan tanır. Bununla birlikte, deponuzda çok sayıda dal varsa hangilerinin etkin olmadığını ve silinebileceğini belirlemek zor olabilir. Artık “eski” dalları (3 aydan eski işlemeleri işaret eden dallar) daha kolayca bulabilirsiniz. Eski dallarınızı görmek için Dallar sayfasındaki Eski özetine gidin (Şekil 10).

Eski dallar

(Şekil 10) Eski dallar

Silinen bir dalı arama ve yeniden oluşturma

Bir dal yanlışlıkla sunucudan silinirse dala ne olduğunu anlamak zor olabilir. Artık silinen bir dalı arayabilir, kimin ne zaman sildiğini görebilir ve isterseniz yeniden oluşturabilirsiniz.

Silinen bir dalı aramak için dal arama kutusuna dalın tam adını yazın. Metinle eşleşen mevcut dalları döndürür. Silinen dallar listesinde tam eşleşme araması yapma seçeneğini de görebilirsiniz. Silinen dalları aramak için bağlantıya tıklayın (Şekil 11).

Silinen dalları arama

(Şekil 11) Silinen dalları arama

Bir eşleşme bulunursa dalı kimin ne zaman sildiğini görebilirsiniz. Dalı geri yükleme seçeneğiniz de vardır (Şekil 12).

Silinen dalları geri yükleme

(Şekil 12) Silinen dalları geri yükleme

Dal geri yüklenirse son işaret ettiği işlemede yeniden oluşturulur. Ancak, ilkeler ve izinler yeniden oluşturulmaz.

Bir ön ekle başlayan dallarda işleme arama

Tüm dalların bir metin ön ekine sahip olduğu hiyerarşik biçimli bir dal yapınız varsa, bu özellik ilgili metin ön ekine sahip tüm dallarda bir işlemeyi bulur. Örneğin, bir işlemenin "dev" ön ekli tüm dallara ulaşıp ulaşmadığını öğrenmek için tek yapmanız gereken arama kutusuna "dev" yazıp "dev" ile başlayan dallarda ara’yı seçmektir (Şekil 13).

İşleme arama

(Şekil 13) İşleme arama

İşleme ayrıntıları sayfasında daha zengin bir çekme isteği açıklama balonu

İşleme ayrıntıları sayfasındaki çekme isteği açıklama balonu, daha iyi tanılama gerçekleştirebilmeniz için daha fazla ilgili bilgi gösterir (Şekil 14). Artık açıklama balonunda işlemeyi herhangi bir dala ilk kez sunan ilk çekme isteği ve varsayılan dalla ilişkili çekme isteği bilgileri de gösterilir.

Çekme isteği açıklama balonu

(Şekil 14) Çekme isteği açıklama balonu

Kod’da ağaç görünümünü filtreleme

Artık sadece dosyalarınıza ulaşabilmek için bir işlemenin değiştirmiş olabileceği tüm dosyalara bakmak zorunda değilsiniz. İşleme ayrıntıları, çekme istekleri, raf kümesi ayrıntıları ve değişiklik kümesi ayrıntıları sayfasındaki ağaç görünümü artık dosya ve klasör filtrelemeyi destekliyor. Bu özellik, klasör adına göre filtre uyguladığınızda bir klasörün alt dosyalarını; dosya adına göre filtre uyguladığınızda ise dosya hiyerarşisini göstermek amacıyla bir dosyanın daraltılmış ağaç görünümünü görüntüleyen akıllı bir filtredir.

İşleme ağacında bir dosya veya klasörü bulma filtresi (Şekil15) ve (Şekil 16):

Bir dosya veya klasörü bulma

(Şekil 15) Bir dosya veya klasörü bulma

Filtrelenmiş görünüm

(Şekil 16) İşleme ağacında filtrelenmiş görünüm

Dal güncelleştirmeleri sayfası artık Göndermeler oldu

Dal Güncelleştirmeleri sayfasının değeri son derece yüksektir. Ancak, Geçmiş merkezinin altında bir özet olarak gizliydi. Artık dal güncelleştirmeleri sayfası Kod altında İşlemeler, Dallar, Etiketler ve Çekme İstekleri ile birlikte Göndermeler (Şekil 17) adlı bir merkez olarak görünür. Göndermeler sayfasının yeni URL’si: <tfssunucusuurl’si>/<projeadı>/_git/<depoadı>/pushes şeklindedir. Eski URL’ler çalışmaya devam edecektir.

Göndermeler sayfası

(Şekil 17) Göndermeler sayfası

Diğer yandan, Geçmiş merkezi yalnızca işlemeleri gösterdiğinden, bunun adı İşlemeler (Şekil 18) olarak değiştirilmiştir. İşleme listesi görünümü yalnızca üzerinde beklendiğinde ayrıntılı zaman bilgisi gösterdiğinden, kullanıcıların işlemeyle ilgili sorunları gidermekte zorlandığına ilişkin geri bildirim aldık. İşleme listesi görünümü artık örneğiniz genelinde tarih ve saati gg.aa.yy ss:dd biçiminde gösteriyor. İşlemeler sayfasının yeni URL’si: <tfssunucusuurl’si>/<projeadı>/_git/<depoadı>/commits. Eski URL’ler çalışmaya devam edecektir.

İşlemeler sayfası

(Şekil 18) İşlemeler sayfası

Dosyalar’dan İşlemeler’e geçişte dosya adını koruma

Kullanıcılarımız, Kod merkezinin Dosyalar özetindeki belirli bir dosya ile dizine filtre uygulayıp daha sonra Geçmiş özetine geçtiklerinde, işlemenin 1.000’den fazla dosyayı değiştirmiş olması durumunda dosya adının kalıcı olmadığına ilişkin bir geri bildirimde bulundu. Bu sorun nedeniyle, kullanıcılar dosyayı bulmak için daha fazla dosya yüklemek ve içeriği filtrelemek zorunda kalıyor, bu da üretkenliği etkiliyordu. Geliştiriciler normalde aynı dizinde çalışır ve değişiklikleri izlerken içinde çalıştıkları dizinlere bağlı kalmak ister. Artık bir işlemede değiştirilen dosya sayısından bağımsız olarak Kod merkezi özetleri arasında geçiş yaparken dosya adının kalıcı olması sağlanıyor. Bu, istediğiniz dosyayı bulmak için Daha Fazla Yükle’ye tıklama gereksiniminizin ortadan kalktığı anlamına geliyor.

Git etiketlerini görüntüleme

Deponuzdaki tüm etiketleri Etiketler sayfasında görüntüleyebilirsiniz (Şekil 19). Tüm etiketlerinizi sürümler halinde yönetiyorsanız, bir kullanıcı etiketler sayfasını ziyaret ederek tüm ürün sürümlerine genel olarak bakabilir.

Git etiketlerini görüntüleme

(Şekil 19) Git etiketlerini görüntüleme

Burada, basit ve açıklamalı etiketleri birbirinden kolayca ayırt edebilirsiniz; açıklamalı etiketlerde ilişkili işlemenin yanı sıra etiketi oluşturan kişi ve oluşturma tarihi gösterilirken, basit etiketlerde yalnızca işleme bilgileri gösterilir.

Git etiketlerini silme

Bir etiketi uzak deponuzdan silmenizi gerektirecek durumlar olabilir. Bunun nedeni, etiket adındaki bir yazım yanlışı ya da yanlış işlemenin etiketlenmesi olabilir. Web kullanıcı arabiriminden Etiketler sayfasındaki bir etiketin bağlam menüsüne tıklayıp Etiketi sil’i seçerek etiketleri kolayca silebilirsiniz (Şekil 20).

Not: Uzak dallardaki etiketler silinirken dikkatli olunmalıdır.

Git etiketlerini silme

(Şekil 20) Git etiketlerini silme

Git etiketlerini filtreleme

Eski depolarda etiket sayısı zamanla çok yüksek bir seviyeye ulaşabileceği gibi, hiyerarşiler halinde oluşturulmuş etiketler içeren ve etiketleri bulmanın zor olduğu depolar da olabilir.

Etiket sayfasında aradığınız etiketi bulamazsanız, tek yapmanız gereken Etiketler sayfasının üst kısmındaki filtreyi kullanarak etiketin adıyla arama gerçekleştirmektir (Şekil 21).

Git etiketlerini filtreleme

(Şekil 21) Git etiketlerini filtreleme

Git etiketlerinin güvenliği

Artık depo kullanıcılarına etiketleri yönetmek için ayrıntılı izinler verebilirsiniz. Kullanıcılara bu arabirimden etiketleri silme ya da yönetme izni verebilirsiniz (Şekil 22).

Git etiketi güvenliği

(Şekil 22) Git etiketi güvenliği

Git etiketleri hakkında daha fazla bilgi edinmek için bkz. Microsoft DevOps blogu.

Çekme isteklerini tamamlarken iş öğelerini otomatik olarak tamamlama

Çekme isteklerinize iş öğeleri bağlıyorsanız, her şeyin güncel kalmasını artık daha basitçe sağlayabilirsiniz. Artık bir çekme isteğini tamamladığınız sırada, çekme isteği başarıyla birleştirildikten sonra bağlı iş öğelerinin de otomatik olarak tamamlanmasını sağlama seçeneğiniz vardır (Şekil 23). İlkeleri kullanıyorsanız ve çekme isteklerini otomatik olarak tamamlanacak biçimde ayarlarsanız aynı seçeneği görürsünüz. Artık çekme isteği tamamlandıktan sonra iş öğelerine dönerek durumu güncelleştirmeyi hatırlamak zorunda değilsiniz. Bu işlem sizin yerinize otomatik olarak gerçekleştirilir.

Bağlı iş öğelerini tamamlama

(Şekil 23) Bağlı iş öğelerini tamamlama

Gönderme/yeni yinelemede oyları sıfırlama

Çekme isteklerinde daha katı bir onay iş akışını tercih eden takımlar artık yeni değişiklikler gönderildiğinde oyları sıfırlamayı tercih edebilir (Şekil 24). Bu yeni ayar, Minimum gözden geçiren sayısı gerektir ilkesinin altında bir seçenektir.

Oyları sıfırlama ayarı

(Şekil 24) Oyları sıfırlama ayarı

Bu seçenek ayarlanırsa, çekme isteği kaynak dalı her güncelleştirildiğinde tüm gözden geçirenlerin tüm oyları sıfırlanır. Bu seçim sonucu oylar her sıfırlandığında, çekme isteği zaman çizelgesine bir girdi kaydedilir (Şekil 25).

Zaman çizelgesinde oyları sıfırlama

(Şekil 25) Zaman çizelgesinde oyları sıfırlama

Çekme isteği ağacını dosya adına göre filtreleme

Bir çekme isteğinde belirli bir dosyayı bulmak artık hiç olmadığı kadar kolay. Dosyalar görünümündeki yeni filtre kutusu, kullanıcıların ağaç görünümünde dosya listesini filtrelemesine imkan tanır (Şekil 26).

Çekme isteğinde dosya veya klasör bulma

(Şekil 26) Çekme isteğinde dosya veya klasör bulma

Çekme isteğindeki dosyaların yolunun herhangi bir kısmıyla eşleşen filtre sayesinde dosya adlarına, kısmi yollara, dosya adlarına veya uzantılara göre arama yapabilirsiniz (Şekil 27).

Sonuçları bulma

(Şekil 27) Sonuçları bulma

Çekme isteği açıklamalarını filtrelemek için daha fazla seçenek

Artık çekme isteğine genel bakıştaki ve dosyalar görünümündeki açıklamalar aynı seçeneklere sahiptir (Şekil 28). Yalnızca katıldığınız tartışmaları görecek biçimde de filtre uygulayabilirsiniz.

Çekme isteği açıklaması filtreleme

(Şekil 28) Çekme isteği açıklaması filtreleme

Çekme isteği ayrıntılarındaki kod açıklamaları için özgün farkı görüntüleme

Bazen, başvurduğu kodun değiştiği (çoğu zaman, istenen bir değişiklik yapıldığında) bir çekme isteği açıklamasını anlamak zor olabilir (Şekil 29).

Özgün farkı görüntüleme

(Şekil 29) Özgün farkı görüntüleme

Böyle bir durumla karşılaştığınızda artık güncelleştirme numaralı bir rozet görürsünüz ve bu numaraya tıklayarak açıklama oluşturulduğu sırada kodun nasıl göründüğüne bakabilirsiniz (Şekil 30).

Güncelleştirme rozeti

(Şekil 30) Güncelleştirme rozeti

Daraltılabilen çekme isteği açıklamaları

Kod gözden geçirme işlemi çekme isteği deneyiminin önemli bir parçası olduğundan, gözden geçirenlerin koda odaklanmasını kolaylaştıracak yeni özellikler ekledik. Kodu gözden geçirenler, yeni kodu ilk kez gözden geçirdikleri sırada açıklamaları kolayca gizleyerek ortadan kaldırabilir (Şekil 31).

Açıklamaları gizleme

(Şekil 31) Açıklamaları gizleme

Açıklamaların gizlenmesi durumunda (Şekil 32) ağaç görünümündeki açıklamalar gizlenir ve dosya görünümündeki açıklama dizileri daraltılır:

Daraltılmış açıklamalar

(Şekil 32) Daraltılmış açıklamalar

Daraltılan açıklamalar kenar boşluğundaki simgeye tıklanarak kolayca genişletilebilir ve bir kez daha tıklanarak yeniden daraltılabilir. Araç ipuçları (Şekil 33), dizinin tamamına bakmadan bir açıklamaya göz atmayı kolaylaştırır.

Daraltılmış açıklama araç ipucu

(Şekil 33) Daraltılmış açıklama araç ipucu

Çekme isteği açıklamalarında görev listeleri

Bazen bir çekme isteği veya açıklama hazırladığınız sırada izlemek istediğiniz öğelerden oluşan kısa bir listeniz olur, ancak metni düzenlemek ya da birden çok açıklama eklemek zorunda kalırsınız. Basit görev listeleri, çekme isteği oluşturan veya gözden geçiren kişi olarak bir açıklamada ya da tek, birleştirilmiş bir açıklamada yapılacaklar listesinin ilerleme durumunu izlemenin harika bir yoludur. Bu özelliği kullanmaya başlamak veya biçimi seçilen metne uygulamak için Markdown araç çubuğuna tıklayın (Şekil 34).

Görev listesi araç çubuğu

(Şekil 34) Görev listesi araç çubuğu

Görev listesi ekledikten sonra (Şekil 35), kutulara işaret koyarak öğeleri tamamlanmış olarak işaretleyebilirsiniz. Bunlar, açıklamada Markdown diliyle [ ] veya [x] olarak ifade edilir ve depolanır. Daha fazla bilgi edinmek için bkz. Markdown kılavuzu.

Görev listesi

(Şekil 35) Görev listesi

Çekme isteklerinde açıklamaları “Beğenme” özelliği

Beğen düğmesine tıklayarak bir çekme isteği açıklamasını desteklediğinizi gösterin (Şekil 36). Düğmenin üzerine gelerek açıklamayı beğenen herkesin listesini görebilirsiniz.

Çekme isteği açıklamalarını beğenme

(Şekil 36) Çekme isteği açıklamalarını beğenme

Önerilerle onaylama sırasında geliştirilmiş iş akışı

Çekme isteklerinde otomatik tamamlama seçeneğini (Şekil 37) kullanmak üretkenliğinizi artırmanın harika bir yoludur, ancak kodu gözden geçirenler arasındaki etkin tartışmaları zamanından önce bitirmemelidir. Bu tartışmaların daha sağlıklı yürütülebilmesi amacıyla, Önerilerle onayla oyu artık bir çekme isteğinin hangi durumlarda otomatik olarak tamamlanacak şekilde ayarlanacağını sorar. Kullanıcının sağladığı geri bildirimin okunabilmesi için otomatik tamamlamayı iptal etme ya da tüm ilkeler karşılandığında çekme isteğinin otomatik olarak tamamlanmasına izin verme seçeneği vardır.

Otomatik tamamlamayı iptal etme iletişim kutusu

(Şekil 37) Otomatik tamamlamayı iptal etme iletişim kutusu

Git bildirimleri için yol filtreleme desteği

Artık bir depodaki tüm klasörler için bildirim almak yerine, yalnızca takım üyeleri tarafından önem verdiğiniz klasörlerde çekme istekleri oluşturulduğunda ya da kod gönderildiğinde bildirim almayı tercih edebilirsiniz. Özel Git gönderme veya Git çekme isteklerine yönelik e-posta bildirimi abonelikleri oluştururken, bu bildirimleri klasör yoluna göre filtreleme seçeneğini görürsünüz (Şekil 38).

Bildirimler için yol filtreleme

(Şekil 38) Bildirimler için yol filtreleme

Çekme isteği iş akışları için harika e-posta şablonları

Çekme isteği e-posta uyarıları daha net, kısa ve eyleme dönüştürülebilir olacak şekilde yenilendi (Şekil 39). Konu satırı, çekme isteğini başlığının yanı sıra depo adı gibi ikincil bilgilerle başlar ve kimlik en sona bırakılır. Çekme isteğini oluşturan kişiyi temel alarak kural ve filtre uygulamayı basitleştirmek için yazarın adı konuya eklendi.

Uyarı e-postalarının gövdesi, ilk olarak uyarının niye gönderildiğini özetleyen, sonra da kritik meta verileri (başlık, dal adları ve açıklama) sunan ve bir ana eylem çağrısı düğmesi içeren yenilenmiş bir şablona sahiptir. Gözden geçirenler, dosyalar ve işlemeler gibi ek ayrıntılar e-postanın daha alt kısmına eklenir.

Geliştirilmiş e-posta şablonu

(Şekil 39) Geliştirilmiş e-posta şablonu

Çoğu uyarının eylem çağrısı (Şekil 40), web’de çekme isteğini görüntülemektir. Bununla birlikte, belirli bir açıklamayla ilgili bildirim aldığınızda kodu ve bağlam bilgisi sunan önceki konuşmayı kolayca bulabilmeniz için eylem çağrısı doğrudan bu açıklamanın bağlantısını verir.

E-posta eylem çağrısı

(Şekil 40) E-posta eylem çağrısı

Çekme İsteği Durum Genişletilebilirliği

Dal ilkelerini kullanmak, kodunuzun kalitesini artırmanın harika bir yolu olabilir. Bununla birlikte, bu ilkeler yalnızca VSTS tarafından yerel olarak sağlanan tümleştirmelerle sınırlıdır. 3. taraf hizmetler, yeni Çekme İsteği Durum API’si ile buna karşılık gelen dal ilkesini kullanarak yerel VSTS özellikleri gibi çekme isteği iş akışına katılabilir.

Durum API’sine bir hizmet tarafından çekme isteği gönderildiğinde, bu istek Durum bölümünün çekme isteği ayrıntıları görünümünde hemen görünür (Şekil 41). Durum bölümü açıklamayı gösterir ve hizmet tarafından sağlanan URL’nin bağlantısını oluşturur. Ayrıca, durum girdileri, web uzantılarıyla yeni eylemlerin eklenebilmesi için genişletilebilen bir eylem menüsünü (...) destekler.

Çekme isteği durum bölümü

(Şekil 41) Çekme isteği durum bölümü

Bir çekme isteğinin tamamlanmasını yalnızca durum değil ilke de engelleyebilir. Bir ilke yalnızca çekme isteği durumu gönderildiğinde yapılandırılabilir. Dal ilkeleri deneyiminden, Dış hizmetlerden onay gerektir şeklindeki yeni bir ilke kullanılabilir. İşlemi başlatmak için + Hizmet ekle’yi seçin (Şekil 42).

Yeni ilke ekleme

(Şekil 42) Çekme İsteği Yeni ilke ekleme

İletişim kutusunda, listeden durumu gönderen hizmeti seçin ve istediğiniz ilke seçeneklerini belirleyin (Şekil 43).

Durumu ayarlama ilkesi

(Şekil 43) Çekme isteği durumunu ayarlama ilkesi

İlke etkin hale geldiğinde, durum İlkeler bölümünde Gerekli veya İsteğe bağlı seçeneklerinden geçerli olan gösterilir ve çekme isteğinin uygun bir biçimde tamamlanması sağlanır.

Durum API’si hakkında daha fazla bilgi edinmek ve API’yi kendiniz denemek istiyorsanız bkz. belgeler ve örnekler.

Wiki

Artık her proje kendi Wiki’sini destekliyor (Şekil 44). Artık takım üyelerinizin projenizi anlamasına, kullanmasına ve projeye katkı sağlamasına yardımcı olan sayfaları rahatça yazabilirsiniz.

Wiki sayfası

(Şekil 44) PR Wiki sayfası

Yeni Wiki’nin temel özelliklerinden bazıları şunlardır:

  • Markdown söz dizimi ile basitleştirilmiş düzenleme deneyimi.
  • Yeni sayfa bir başlık belirtmenize ve içerik eklemenize olanak sağlar. (Şekil 45) Başlık wiki’si

    (Şekil 45) Çekme İsteği Başlık wiki’si

  • Markdown’da HTML etiketleri için destek (Şekil 46).

Wiki HTML etiketleri

(Şekil 46) Çekme İsteği Wiki HTML etiketleri

  • Markdown klasöründeki görüntüleri rahatça yeniden boyutlandırın (Şekil 47).

Görüntüyü yeniden boyutlandırma

(Şekil 47) Çekme İsteği Görüntüsünü yeniden boyutlandırma

  • Sayfaları yeniden sıralamanıza, yönetmenize ve sayfaların üst öğelerini yeniden ayarlamanıza imkan tanıyan güçlü sayfa yönetimi bölmesi.
  • Büyük wiki’ler için sayfaları başlığa göre filtreleme özelliği (Şekil 48).

Wiki menüsü

(Şekil 48) Çekme İsteği Wiki menüsü

Wiki’yi kullanmaya başlama hakkında daha fazla bilgi edinin.

  • Wiki’yi daha çok kullandıkça, yanlışlıkla yapılan değişiklikleri kaydetme şansınız artar. Artık bir düzeltmenin ayrıntılarına gidip Geri Döndür düğmesine tıklayarak bir Wiki sayfasındaki düzeltmeyi geri döndürebilirsiniz (Şekil 49).

Wiki geri döndürme düğmesi

(Şekil 49) Çekme İsteği Wiki geri döndürme düğmesi

Bozuk bir bağlantıdan Wiki sayfası oluşturma: Wiki oluşturma sırasında, kullanıcıların mevcut olmayan bağlantılar içeren bir Wiki sayfasında içindekiler tablosu oluşturduğunu gözlemledik (Şekil 50). Kullanıcılar daha sonra bu bağlantılara tıklayarak gerçek sayfaları oluşturuyordu. Önceki deneyimimizde, bu senaryo için bağlantının bozuk olduğunu veya sayfanın mevcut olmadığını belirten bir uyarı yapılıyordu. Şimdi ise bunun yerine sayfa oluşturmanıza imkan tanıyan genel bir Wiki senaryosu olarak ele alınıyor.

Wiki sayfası oluşturma

(Şekil 50) Çekme İsteği Wiki sayfası oluşturma

Market’teki Wiki uzantısı kullanım dışı bırakıldı. Mevcut bir Wiki uzantısı kullanıcısıysanız bu geçiş aracını kullanarak wiki sayfalarınızı yeni wiki’ye geçirebilirsiniz. Mevcut wiki sayfalarınızı yeni Wiki’ye geçirme hakkında daha fazla bilgi edinin.

Paket Yönetimi

Paket Yönetimi deneyimindeki güncelleştirmeler

Paket URL’leri artık GUID’leri kullanmak yerine paket adı ve sürümüyle çalışıyor. Bu da el ile paket URL’leri oluşturmayı kolaylaştırıyor (Şekil 51). Biçim şu şekildedir: <tfssunucusuurl’si>/<proje|takım>/_packaging?feed=<feed>&package=<package>&version=<version>&protocolType=<NuGet|Npm|Maven>&_a=package.

Paket URL’si

(Şekil 51) Çekme İsteği Paket URL’si

Bu UserVoice önerisine karşılık olarak, artık silinen paket sürümlerini tüm akış kullanıcılarından gizleyebilirsiniz (artık üzeri çizili paketler görmezsiniz!) (Şekil 52).

Silinen paketleri gizleme

(Şekil 52) Silinen paketleri gizleme

Paket ayrıntıları sayfasında gerçekleştirebildiğiniz tüm işlemler artık paket listesindeki bağlam menüsünden gerçekleştirilebilir.

Paket listesi, son güncelleştirilen paketleri kolayca bulabilmeniz için anlaşılır tarihler içeren yeni bir Son gönderme sütunu içeriyor (Şekil 53).

Son gönderme sütunu

(Şekil 53) Son gönderme sütunu

Maven paketleri

TFS 2018’de Maven yapıtlarını barındırma desteği sunmaya başladık (Şekil 54)! Maven yapıtları, Java geliştiricilerinin kolayca kod ve bileşen paylaşmasına imkan tanır. Paket Yönetimi’ni kullanarak nasıl Maven yapıtları paylaşabileceğinizi öğrenmek için başlangıç kılavuzumuzu inceleyin.

Maven paketleri

(Şekil 54) Maven paketleri

Yeni birleşik NuGet görevi

NuGet Restore, NuGet Packager ve NuGet Publisher görevlerini derleme görevi kitaplığının geri kalanıyla daha iyi hizalamak için tek bir NuGet derleme görevi altında birleştirdik; yeni görev varsayılan olarak NuGet 4.0.0 sürümünü kullanır. Bu doğrultuda, eski görevleri kullanım dışı bıraktık ve zamanınız olduğunda yeni NuGet görevine geçmenizi öneriyoruz. Bu değişiklik, aşağıda ana hatlarıyla verilen ve yalnızca birleşik görevi kullanarak erişebileceğiniz bir dizi geliştirme ile eş zamanlı olarak sunuluyor.

Bu çalışma kapsamında, PATH üzerindeki NuGet’in sürümünü denetleyen ve yeni NuGet görevi tarafından kullanılan yeni bir NuGet Tool Installer da yayınladık. Bu nedenle, NuGet’in daha yeni bir sürümünü kullanmak için tek yapmanız gereken, derlemenizin başlangıcında bir NuGet Tool Installer görevi eklemektir (Şekil 55).

Nuget görevi

(Şekil 55) NuGet görevi

NuGet “Yinelenenlerin atlanmasına izin ver” seçeneği

Birçok NuGet müşterisinden bir paket kümesi oluşturduklarını, ancak bunlardan yalnızca bazılarının güncelleştirmesinin (dolayısıyla da güncelleştirilmiş sürüm numaralarının) olduğunu duyduk. NuGet derleme görevi, sürümün zaten kullanımda olduğu bir VSTS/TFS akışına paket göndermeye çalıştığında görevin devam etmesine imkan tanıyacak yeni bir Yinelenenlerin atlanmasına izin ver seçeneği içeriyor.

npm derleme görevi güncelleştirmeleri

Yeni NPM derleme görevi, npm projenizi Windows, Linux veya Mac’te derlemenizden bağımsız olarak sorunsuz bir biçimde çalışır. Ayrıca, görevi yeniden düzenleyerek hem npm install hem de npm publish görevini kolaylaştırdık. Projenizin .npmrc dosyasında listelenen kayıt defterlerine ait kimlik bilgilerinin bir hizmet uç noktasında güvenli bir şekilde saklanabilmesi için install ve publish kimlik bilgilerini almayı basitleştirdik. Alternatif olarak, VSTS/TFS akışı kullanıyorsanız bir akışı seçmenize imkan tanıyan seçicimizi kullandığınızda derleme aracısı tarafından kullanılan gerekli kimlik bilgilerini içeren bir .npmrc oluşturulur.

Maven artık kimliği doğrulanmış akışları destekliyor

Maven derleme görevi, npm ve NuGet’in aksine kimliği doğrulanmış akışlarla çalışmıyordu. Maven görevini VSTS/TFS akışlarıyla kolayca çalışabilmenizi sağlayacak biçimde güncelleştirdik (Şekil 56).

dotnet görevi

(Şekil 56) dotnet görevi

dotnet görevi, kimliği doğrulanmış akışları ve web projelerini destekliyor

dotnet görevinin yeni ana sürümü (2.x), geri bildirim isteklerinizin çoğunu karşılıyor ve bir süredir izlemekte olduğumuz bir dizi hatayı düzeltiyor.

  1. İlk olarak, dotnet artık Paket Yönetimi gibi kimliği doğrulanmış paket kaynaklarını desteklediğinden, özel paket kaynaklarından paketleri geri yüklemek için NuGet görevini kullanmanız gerekmez.
  2. Görevin 2.0 sürümünde Projelerin yolu alanının davranışı değişti. Görevin önceki sürümlerinde, belirtilen desenle eşleşen proje dosyaları bulunamadığında görev günlüğe bir uyarı kaydedip başarılı oluyordu. Böyle senaryolarda, derleme başarılı olduğu halde bağımlılıkların neden geri yüklenmediğini anlamak zor olabilir. Artık belirtilen desenle eşleşen proje dosyaları bulunamazsa görev başarısız olur. Bu, diğer görevlerin davranışıyla uyumlu olmasının yanı sıra anlaşılması ve kullanılması kolay bir özelliktir.
  3. Önceki görev yayımlama komutu sürümlerinde, açık bir çıkış yolu belirtmiş olsanız bile görev tüm dosyaları proje dosya adına göre adlandırılmış bir klasöre yerleştirerek çıkış yolunu değiştiriyordu. Bu, komutları zincir halinde birbirine eklemeyi zorlaştırır. Artık çıkış dosyasının yolunu denetleyebilirsiniz.

Ayrıca, PATH üzerindeki dotnet’in sürümünü denetleyen ve yeni dotnet görevi tarafından kullanılan yeni bir dotnet Tool Installer görevi de yayınladık. Bu nedenle, dotnet’in daha yeni bir sürümünü kullanmak için tek yapmanız gereken, derlemenizin başlangıcına bir dotnet Tool Installer görevi eklemektir.

Hesabınız/koleksiyonunuz dışında çalışma

Başka bir VSTS hesabı veya TFS sunucusundaki Paket Yönetimi akışları ya da NuGet.org/npmjs.com, Artifactory veya MyGet gibi Paket Yönetimi dışı akışlar olmasından bağımsız olarak, TFS sunucunuz ya da VSTS hesabınız dışındaki akışlarla artık daha kolayca çalışabilirsiniz (Şekil 57). NuGet ve npm için adanmış Hizmet Uç Noktası, doğru kimlik bilgilerinin girilmesini kolaylaştırmasının yanı sıra derleme görevlerinin tüm paket indirme ve paket gönderme işlemlerinde sorunsuz bir şekilde çalışmasını sağlar.

Kullanılacak akışlar

(Şekil 57) Kullanılacak akış

VSTS/TFS akışları için akış seçici

Kaynak deponuzda paketlerinizin nereden geldiğine ilişkin bir kayıt olabilmesi için her zaman bir yapılandırma dosyasının (örn. NuGet.Config, .npmrc, vs.) iade edilmesini öneririz. Bununla birlikte, bu yöntemin uygun olmadığı bazı senaryolar olduğunu duyduk ve bir akışı seçip otomatik olarak ilgili derleme adımı için kullanılacak bir yapılandırma dosyası oluşturmanıza imkan tanıyan yeni bir Bu VSTS/TFS akışındaki paketleri kullan seçeneği ekledik (Şekil 58).

Akış seçici

(Şekil 58) Akış seçici

Derleme ve Yayınlama

XAML Derlemeleri için sunulan destek kaldırılıyor

TFS 2015’te web tabanlı, platformlar arası bir derleme sistemini kullanıma sunduk. TFS 2018’de desteklenen tek model budur. TFS 2018’de XAML derlemeleri desteklenmez. XAML derlemelerinizi geçirmeniz önerilir. Henüz geçiş yapmaya hazır değilseniz ve XAML derlemelerini kullanmaya devam etmeniz gerekiyorsa TFS 2018’e yükseltmemelisiniz.

TFS 2018’e yükselttiğinizde:

  • Takım projesi koleksiyonunuzda XAML derlemesi verileri varsa, XAML derlemesi özelliklerinin kaldırıldığına ilişkin bir uyarı alırsınız.

  • TFS 2018’de tamamlanmış XAML derlemelerini görebilirsiniz, ancak yeni derlemeleri kuyruğa alamazsınız.

  • TFS 2018’de XAML derleme denetleyicisinin veya aracısının yeni sürümü yoktur ve XAML derleme denetleyicisinin veya aracısının eski bir sürümünü TFS 2018 ile çalışacak biçimde yapılandıramazsınız.

XAML derlemelerini kullanım dışı bırakma planımızın açıklaması için bu blog gönderisine bakın.

Derleme tanımlarını dışarı ve içeri aktarma

Derleme tanımları dahili olarak .json dosyaları halinde uygulandığından, dosyanın geçmişindeki değişikliklerin ayrıntılarını görebilirsiniz. Zaten derleme tanımlarınızı kopyalayabiliyor veya bunlardan şablon oluşturabiliyordunuz, ancak birçok kullanıcı CI derleme mantığının bir kopyasını alıp başka bir takım projesinde yeniden kullanmak istiyordu. Hatta bu, UserVoice’ta en çok istenen on özellikten biriydi.

Artık bunu yapabileceğinizi duyurmaktan mutluluk duyuyoruz (Şekil 59) ve (Şekil 60)!

Derleme tanımını dışarı aktarma

(Şekil 59) Derleme tanımını dışarı aktarma

Derleme tanımını içeri aktarma

(Şekil 60) Derleme tanımını içeri aktarma

Derleme şablonları içeren uzantılar

Derleme şablonları, kullanıcıların derlemelerini tanımlama işlemine başlarken kullanabileceği bir temel oluşturmanıza imkan tanır. Yeni sunduğumuz pakette bunlardan birkaç tane var ve hesabınıza yeni şablonlar yükleyebiliyor olsanız da uzantı yazarının bir uzantı kapsamında yeni şablonlar eklemesi hiçbir zaman mümkün olmamıştı. Artık uzantılarınıza derleme şablonları ekleyebilirsiniz. Örneğin:

{  "id": "Template1", 
   "type": "ms.vss-build.template", 
   "targets": [ "ms.vss-build.templates" ], 
   "properties": { "name": "Template1" } }

Tam örneği görmek için bkz. https://github.com/Microsoft/vsts-extension-samples/tree/master/fabrikam-build-extension.

İpucu

Bu özelliği kullanarak tüm takım projelerinizde aynı özel şablonu sunabilir ve paylaşabilirsiniz.

Uzantıdaki bir görevi kullanım dışı bırakma

Artık uzantınızdaki bir görevi kullanım dışı bırakabilirsiniz. Bu özelliğin çalışması için görevinizin en son sürümüne şu değişkeni eklemeniz gerekir:

"deprecated": true

Kullanım dışı görevler kullanıcı tarafından arandığında (Şekil 61), uca bu görevler gönderilir ve varsayılan olarak daraltılmış olan daraltılabilir bir bölüm altında gruplandırılır. Bir tanımda zaten kullanım dışı bir görev kullanılıyorsa, kullanıcıların yeni göreve geçmesini teşvik etmek için kullanım dışı görev rozeti görüntülenir.

Kullanım dışı görev rozeti

(Şekil 61) Kullanım dışı görev rozeti

Görev açıklamasında yeni görevden bahsederek kullanıcılarınızın bunun hakkında bilgi edinmesine yardımcı olabilirsiniz (Şekil 62). Bu açıklama, görevi hem görev kataloğundan hem de mevcut derleme/yayın tanımlarından doğru şekilde kullanma konusunda kullanıcılara kılavuzluk sağlar.

Kullanım dışı görev açıklaması

(Şekil 62) Kullanım dışı görev açıklaması

Katkıda bulunulan derleme bölümlerinin bölüm görünürlüğünü denetlemesine izin verme

Daha önce uzantı derleme görevleri ve derleme özeti bölümlerine sahip bir uzantıyı kullanırken, bu derlemedeki derleme görevini kullanmıyor olsanız bile derleme özeti bölümünü görürdünüz. Artık uzantı kodunuza şu satırı ekleyip satırın değerini true veya false şeklinde ayarlayarak derleme özeti sayfasında bu bölümü gizlemeyi veya göstermeyi tercih edebilirsiniz:

VSS.getConfiguration().setSectionVisibility("$(publisherId).$(extensionId).$(sectionId)", false);

Microsoft vsts-extension-samples deposuna eklenen örneği görüntüleyin.

Değişken grubu desteği

Daha önce yayın tanımlarında kullanılabilen değişken grupları, artık derleme tanımlarında da kullanıma hazırdır. Değişken grubu oluşturma hakkında daha fazla bilgi edinin. Bu özellik, proje düzeyinde derleme/yayın değişkenleri ve derleme tanımlarındaki değişken grupları için yapılan ilgili öneriler temel alınarak geliştirilmiş ve önceliklendirilmiştir.

Apple sertifikaları gibi güvenli dosyalarla çalışma

Genel amaçlı bir güvenli dosyalar kitaplığı eklendi (Şekil 63).

Güvenli dosyalar kitaplığı

(Şekil 63) Güvenli dosyalar kitaplığı

İmzalama sertifikaları, Apple Sağlama Profilleri, Android Keystore dosyaları ve SSH anahtarlarını kaynak deponuza işlemek zorunda kalmadan sunucuda depolamak için güvenli dosyalar kitaplığını kullanın.

Güvenli dosyaların içeriği şifrelenir ve yalnızca derleme veya yayın işlemleri sırasında bir görevden başvurularak kullanılabilir. Güvenli dosyalar, güvenlik ayarlarına bağlı olarak takım projesindeki birden çok derleme ve yayın tanımında kullanılabilir. Güvenli dosyalar Kitaplık güvenliği modelini izler.

Bu yeni özellikten yararlanan bazı Apple görevleri de ekledik:

Yeni Yayın Tanımı Düzenleyicisi

Varsayılan kabul: Yeni yayın tanımı düzenleyicisi, varsayılan olarak herkes için kabul edilmiştir. Yine de siz veya TFS yöneticileriniz profil menünüzün altındaki Önizleme özellikleri seçeneğine giderek bunu kapatabilirsiniz. Daha fazla ayrıntı için bkz. Önizleme özellikleri.

Derleme ve Yayın deneyimlerini yenileme yolculuğumuzda, yeni derleme tanımı düzenleyicisinden sonra şimdi de yayın tanımı düzenleyicimizi yeniden tasarlayarak daha sade ve sezgisel bir deneyime dönüştürdük, bazı sorunlu noktaları düzelttik ve yeni özellikler ekledik. Yeni düzenleyicinin en güçlü yanlarından biri, ortamınıza yönelik dağıtımların nasıl ilerleyeceğine ilişkin olarak zihninizde bir tablo oluşturmanıza veya durumu görselleştirmenize yardımcı olmasıdır. Buna ek olarak onaylar, ortam ve dağıtım ayarları artık bağlam içindedir ve kolayca yapılandırılabilir (Şekil 65).

İşlem hattının görselleştirilmesi

Düzenleyicideki işlem hattı (Şekil 64), bir yayındaki dağıtımların nasıl ilerleyeceğine dair bir grafik görünümü sağlar. Yapıtlar yayın tarafından tüketilir ve ortamlara dağıtılır. Ortamların düzeni ve bağlantıları, her ortam için tanımlanan tetikleyici ayarlarını yansıtır.

İşlem hattı

(Şekil 64) Yayın işlem hattı

Bağlam içi yapılandırma kullanıcı arabirimi

Yapıtlar, yayın tetikleyicileri, dağıtım öncesi ve dağıtım sonrası onaylar, ortam özellikleri ve dağıtım ayarları artık bağlam içindedir ve kolayca yapılandırılabilir (Şekil 65).

Yayın yapılandırması

(Şekil 65) Yayın yapılandırması

Dağıtım şablonlarını kullanmaya başlama

Hızla çalışmaya başlayabilmeniz için, yeni ortam oluşturulurken şablonların (kullanıma hazır veya özel) listesi gösterilir (Şekil 66).

Dağıtım şablonları

(Şekil 66) Dağıtım şablonları

Görev ve aşama düzenleyicisi geliştirildi

Yeni derleme tanımı düzenleyicisindeki tüm iyileştirmeler artık yayın tanımı düzenleyicisinde de kullanılabilir (Şekil 67). Belirli görevleri arayabilir ve Ekle düğmesini ya da sürükle/bırak özelliğini kullanarak ekleyebilirsiniz. Sürükle/bırak özelliğini kullanarak görevleri yeniden sıralayabilir veya kopyalayabilirsiniz.

Görev düzenleyicisi

(Şekil 67) Görev düzenleyicisi

Değişken grupları, Bekletme ve Seçenekler sekmeleri

Artık Seçenekler sekmesinden çeşitli gruplara bağlanabilir/bağlantıyı kesebilir (Şekil 68), tek tek ortamlar için bekletme ilkesi ayarlayabilir ve yayın numarası biçimi gibi yayın tanımı düzeyindeki ayarları değiştirebilirsiniz. Ayrıca, Görevler sekmesinin içinden bir ortamı dağıtım şablonu olarak kaydedebilir, ortam düzeyi izinler ayarlayabilir ve aşamaları yeniden sıralayabilirsiniz.

Değişken grupları

(Şekil 68) Değişken grupları

Ortam düzeyindeki işlemlerle şablon olarak kaydedin ve güvenliği ayarlayın (Şekil 69).

Ortam menüsü

(Şekil 69) Ortam menüsü

Dağıtım Grupları Kullanılarak VM Dağıtımı

Release Management artık sağlam ve kullanıma hazır çok makineli dağıtımı destekliyor. Artık birden çok makinedeki dağıtımları düzenleyebilir ve uygulamanın tamamen yüksek oranda kullanılabilir olmasını sağlarken sıralı güncelleştirme işlemleri gerçekleştirebilirsiniz.

Aracı tabanlı dağıtım özelliği, aynı derleme ve dağıtım aracılarına bağımlıdır. Bununla birlikte, derleme ve dağıtım aracılarını bir aracı havuzundaki proxy sunucuları kümesine yükleyip dağıtımları uzak hedef sunuculara göndermenizi gerektiren geçerli yaklaşımın aksine, aracıyı doğrudan hedef sunucularınızın her birine yüklersiniz ve bu sunuculara sıralı dağıtım yaparsınız. Hedef makinelerinizde tam görev kataloğunu kullanabilirsiniz.

Dağıtım grubu (Şekil 70), her birine aracılar yüklenmiş hedeflerden (makineler) oluşan mantıksal bir gruptur. Dağıtım grupları; tek kutu Geliştirme, çok makineli QA ve UAT/Prod için bir makine grubu gibi fiziksel ortamlarınızı temsil eder. Bunlar, fiziksel ortamlarınızın güvenlik bağlamını da belirtir.

Dağıtım grupları

(Şekil 70) Dağıtım grupları

Bunu aracımızı kaydettiğiniz herhangi bir sanal makineye karşı kullanabilirsiniz. Ayrıca, VM çalıştığında aracıyı otomatik olarak yükleyen bir Azure VM uzantısı için destek sunarak Azure’a kaydetmeyi çok kolay hale getirdik. Azure VM kaydedildiğinde sanal makinede bulunan etiketler otomatik olarak devralınır.

Dağıtım grubunuz oluşturulduğunda tek yapmanız gereken bu dağıtım grubunda ne yürütülmesini istediğinizi yapılandırmaktır (Şekil 71). Etiketleri kullanarak hangi makinelerde nelerin çalıştırılacağını ve dağıtımın ne kadar hızlı ya da yavaş gerçekleşeceğini denetleyebilirsiniz.

Dağıtım gruplarını yapılandırma

(Şekil 71) Dağıtım gruplarını yapılandırma

Dağıtım çalıştırıldığında, hedeflediğiniz makine grubunun tamamındaki ilerleme durumu günlüklerde gösterilir (Şekil 72).

Dağıtım grubu ilerleme durumu

(Şekil 72) Dağıtım grubu ilerleme durumu

Bu özellik artık Release Management’ın tümleşik bir parçasıdır. Bu özelliğin kullanımı için ek lisans gerekmez.

Görev grubu başvuruları

Görev grupları, derleme veya yayın tanımlarınıza ekleyebileceğiniz bir görev kümesi tanımlamanıza imkan tanır. Bu özellik, birden çok derleme veya yayında aynı görev grubunu kullanmanız gerektiğinde kullanışlıdır. Artık bir görev grubunun tüketicilerini izlemenize yardımcı olmak için, görev grubunuza başvuran derleme tanımları, yayın tanımları ve görev gruplarına ilişkin bir görünümden yararlanabilirsiniz (Şekil 73).

Görev grubu başvuruları

(Şekil 73) Görev grubu başvuruları

Başvurulmakta olan bir görev grubunu silmeye çalıştığınızda bir uyarı alırsınız ve bu sayfanın bağlantısı verilir.

Görev grubu sürümü oluşturma

Bir görev grubunda yapılan değişiklikler görev grubunu kullanan tüm tanımlarda geçerli olduğundan, bu işlemi riskli bulabilirsiniz. Görev grubu sürümü oluşturma sayesinde, artık geçiş yapmaya hazır olana kadar en önemli tanımlarınıza kararlı sürümler sunmaya devam ederken görev grubu sürüm taslakları oluşturabilir ve bunların önizlemesini yapabilirsiniz. Biraz taslak çalışması ve yinelemeden sonra kararlı bir sürüm yayımlayabilir ve değişikliklerin kesintiye uğratıcı bir yapısı olması durumunda, görev grubunu önizleme (yeni ana sürüm) olarak yayımlamayı tercih edebilirsiniz. Alternatif olarak bunu doğrudan güncelleştirilmiş ve kararlı bir sürüm olarak yayımlayabilirsiniz (Şekil 74).

Görev grubunun yeni bir ana sürümü (veya önizlemesi) çıktığında, tanım düzenleycisi tarafından yeni bir sürüm olduğu bildirilir. Bu ana sürüm önizlemeyse, bir “deneyin” iletisi bile görürsünüz. Görev grubunun önizleme süresi dolduğunda, bunu kullanan tanımlar otomatik olarak yükseltilerek bu ana kanalla birlikte hareket eder (Şekil 75).

Taslak olarak kaydetme

(Şekil 74) Görev grubunu taslak olarak kaydetme

Görev grubunu önizleme olarak yayımlama

(Şekil 75) Görev grubunu önizleme olarak yayımlama

Görev grubu içeri ve dışarı aktarma

Görev grupları bir proje içinde yeniden kullanılabilirlik imkanı sunsa da farklı proje ve hesaplarda aynı görev grubunu yeniden oluşturmanın zor olabileceğini biliyoruz. Görev grubu içeri/dışarı aktarma özelliğiyle (Şekil 76), yayın tanımları için uyguladığımız güncelleştirmede olduğu gibi, artık bir JSON dosyası olarak dışarı aktarabilir ve istediğiniz yerde içeri aktarabilirsiniz. Dışarı aktarıldığında ilk olarak genişleyen iç içe görev grupları özelliği de etkinleştirildi.

Görev grubunu dışarı aktarma

(Şekil 76) Görev grubunu dışarı aktarma

Sunucu Tarafı (Aracısız) görevlerde Çoklu Yapılandırma

Artık sunucu tarafı (aracısız) görevler için çeşitli çarpanlar belirterek (Şekil 77) bir aşamadaki görev kümesinin aynısını paralel şekilde çalışan birden çok yapılandırmada çalıştırabilirsiniz.

Çoklu aracı görevi yapılandırılması

(Şekil 77) Çoklu aracı görevi yapılandırılması

El ile Müdahale görevinde Değişken Desteği

El ile Müdahale görevi (Şekil 78) artık görev çalıştırıldığında kullanıcılara gösterilen yönerge metninde değişkenlerin kullanılmasını destekler. Kullanıcılar bu noktada yayın işlemini sürdürebilir ya da işlemi reddedebilir. Yayında tanımlanan ve mevcut olan tüm değişkenler dahil edilebilir ve değerler hem bildirimlerde hem de kullanıcılara gönderilen e-posta iletilerinde kullanılır (Şekil 79).

El ile Müdahale görevi

(Şekil 78) El ile Müdahale görevi

El ile müdahale bekleniyor iletişim kutusu

(Şekil 79) El ile müdahale bekleniyor iletişim kutusu

Bir ortama yönelik yayınları kaynak dala göre denetleme

Yeni bir yayın oluşturulduğunda (genellikle bir kaynağın derlenmesi başarılı olduğunda) otomatik olarak dağıtım tetiklemek için bir yayın tanımı yapılandırılabilir. Ancak, kaynaktaki tüm derlemelerin değil de yalnızca belirli dallarındaki derlemelerin başarılı olması durumunda dağıtmak isteyebilirsiniz.

Örneğin, Geliştirme ve Test ortamlarına tüm derlemelerin dağıtılmasını isterken Üretim ortamına yalnızca belirli derlemelerin dağıtılmasını isteyebilirsiniz. Daha önce, bunu yapabilmek için biri Geliştirme ve Test ortamları için, diğeri Üretim ortamı için olmak üzere iki yayın işlem hattına sahip olmanız gerekiyordu.

Release Management artık her ortam için yapıt filtrelerinin kullanımını destekler. Bu, dağıtım tetikleme koşulları karşılandığında (bir derlemenin başarılı olması veya yeni yayın oluşturulması gibi) her ortama dağıtılacak yayınları belirtebileceğiniz anlamına gelir. Ortamın Dağıtım koşulları iletişim kutusundaki Tetikleyici bölümünde (Şekil 80), bu ortama yönelik yeni bir dağıtımı tetikleyecek derlemelerin kaynak dal ve etiketler gibi yapıt koşullarını seçin.

Dağıtım koşulları iletişim kutusu

(Şekil 80) Dağıtım koşulları iletişim kutusu

Ayrıca, Yayın Özeti sayfası (Şekil 81) artık “başlatılmadı” durumundaki tüm dağıtımların nedenini gösteren ve dağıtımın nasıl veya ne zaman başlatılabileceğini öneren bir açılır ipucu içeriyor.

Yayın özeti ipucu

(Şekil 81) Yayın özeti ipucu

Bir yapıt kaynağı olarak Git depoları için Yayın Tetikleyicileri

Release Management artık aynı hesaptaki takım projelerinden herhangi birinde bulunan bir yayın tanımına bağlı Git depoları için bir sürekli dağıtım tetikleyicisi yapılandırmayı destekliyor (Şekil 82). Bu, depoya yeni bir işleme yapıldığında otomatik olarak yayın tetiklemenize imkan sağlar. Git deposunda hangi işlemelerin yayın tetikleyeceğine ilişkin bir dal da belirtebilirsiniz.

Yayın tetikleyicileri

(Şekil 82) Yayın tetikleyicileri

Yayın Tetikleyicileri: Git deposuna gönderilen değişiklikler için sürekli dağıtım

Release Management’ta bir derleme tamamlandığında sürekli dağıtım yapılandırma özelliği zaten hep vardı. Ancak, artık Git Push üzerinde de sürekli dağıtım yapılandırabilirsiniz. Bu, GitHub ve Team Foundation Git depolarını bir yayın tanımına yapıt kaynakları olarak bağlayabileceğiniz ve daha sonra, bir derlemeden oluşturulmayan Node.JS ve PHP uygulamaları gibi uygulamalar için otomatik olarak yayın tetikleyebileceğiniz anlamına gelir. Bu durumda, sürekli dağıtım için derleme eylemine gerek kalmaz.

Sunucu tarafı görevlerde yapılan iyileştirmeler

Sunucu tarafı görevlerde (bir sunucu aşaması içinde çalışan görevler) iki iyileştirme yapıldı.

Otomatikleştirilmiş işlem hattı kapsamında tüm genel HTTP REST API’leri (Şekil 83) çağırmak için kullanılabilecek yeni bir görev eklendi. Örneğin, bir Azure işleviyle belirli bir işlemeyi çağırmak ve tamamlanmasını beklemek için kullanılabilir.

REST API görevi

(Şekil 83) REST API görevi

Ayrıca, tüm sunucu tarafı görevlere Denetim seçenekleri bölümü ekledik (Şekil 84). Görev davranışı artık Etkin, Hatada devam et, Her zaman çalıştır ve Zaman aşımı seçeneklerini ayarlamayı da içerir.

Görev denetimi seçenekleri

(Şekil 84) Görev denetimi seçenekleri

Kod merkezinde yayın durumu rozeti

Bugün bir işlemenin müşteriye ait üretim ortamına dağıtılıp dağıtılmadığını anlamak istediğinizde önce derlemeyi hangi işlemenin tükettiğini belirler, sonra da bu derlemenin dağıtıldığı tüm yayın ortamlarını denetlersiniz. Artık Kod merkezindeki durum rozetiyle tümleşik olan dağıtım durumunda kodunuzun dağıtıldığı ortamların listesi gösterildiğinden, bu deneyim çok daha kolaydır. Her dağıtım için dağıtım kapsamındaki en son işlemeye durum bilgisi gönderilir. Bir işleme, birden çok yayın tanımına (birden çok ortamda) dağıtılmışsa, rozette her birinin birer girdisi olur ve her bir ortamın durumu gösterilir (Şekil 85). Bu, dağıtımlara kod işlemenin izlenebilirliğini artırır.

Yayın durumu rozeti

(Şekil 85) Yayın durumu rozeti

Bir yayın tanımı oluşturduğunuzda, varsayılan olarak tüm ortamların yayın durumu gönderilir. Bununla birlikte, dağıtım durumu durum rozetinde görüntülenecek ortamları seçerek belirleyebilirsiniz (örneğin yalnızca üretim ortamlarını gösterebilirsiniz) (Şekil 86).

Dağıtım seçenekleri iletişim kutusu

(Şekil 86) Dağıtım seçenekleri iletişim kutusu

Yapıt eklenirken kullanılan Derleme tanımı menüsündeki iyileştirmeler

Bir yayın tanımına derleme yapıtı eklerken artık tanımları klasör düzeni bilgileriyle görüntüleyebilir ve istenen tanımın seçilmesini basitleştirebilirsiniz (Şekil 87). Bu, aynı olduğu halde farklı klasörlerde bulunan derleme tanımlarını birbirinden ayırt etmenizi kolaylaştırır.

Yapıt ekleme

(Şekil 87) Yapıt ekleme

Tanım listesi, filtre terimini içeren tanımlara göre filtrelenir.

Yayın tanımınızı eski sürüme döndürme

Bugün bir yayın tanımı güncelleştirildikten sonra, doğrudan önceki bir sürüme dönemezsiniz. Bunu yapmanın tek yolu, yayın tanımı geçmişine bakarak değişikliklerin farkını bulmak ve yayın tanımını el ile düzenlemektir. Artık yayın tanımının Geçmiş sekmesinden Tanımı Geri Döndür özelliğini (Şekil 88) kullanarak yayın tanımının herhangi bir eski sürümünü seçebilir ve bu sürüme geri dönebilirsiniz.

Yayın tanımını geri döndürme

(Şekil 88) Yayın tanımını geri döndürme

Test Etme

Microsoft Test Yöneticisi’nde Laboratuvar Merkezi ve otomatikleştirilmiş test akışları için sunulan destek kaldırılıyor

Derleme ve Yayın Yönetiminin geçirdiği evrim nedeniyle XAML derlemeleri TFS 2018’de artık desteklenmiyor ve bunun sonucunda, TFS ile Microsoft Test Yöneticisi’nin (MTM) kullanımı için sunulan destek güncelleştiriliyor. TFS 2018 sürümünden itibaren, otomatikleştirilmiş test için MTM’deki Test Merkezi/Laboratuvar Merkezi’nin kullanımı artık TFS tarafından desteklenmiyor. XAML derlemeleri ve Laboratuvar Merkezi’nden geçiş yapmaya hazır değilseniz TFS 2018’e yükseltmemelisiniz.

TFS 2018’e yükseltmenin etkisi şu olur:

Laboratuvar Merkezi:
  • Artık desteklenmeyenler:
    • Laboratuvar ortamları oluşturmak ve bunları yönetmek amacıyla Test Denetleyicileri TFS’ye kaydedilemez.
    • TFS’ye kayıtlı tüm mevcut Test Denetleyicileri çevrim dışı olur ve mevcut Laboratuvar ortamları ‘Hazır Değil’ olarak görünür.
  • Önerilen alternatif:
Otomatikleştirilmiş test:
El ile Test:
  • Tüm el ile test senaryoları hala tam olarak desteklenmektedir. El ile yapılan testler TFS 2018’de MTM kullanılarak çalıştırılabilir, ancak Laboratuvar Ortamları kullanılarak bu işlem gerçekleştirilemez.
  • Tüm el ile test senaryoları için TFS web erişiminde Test merkezinin kullanılması kesinlikle önerilir.

İş öğesi bağlantıları, yinelemeler ve alan yolları için keşif testi izlenebilirliğiyle ilgili iyileştirmeler

Keşif testi yapan takımlardan aldığımız geri bildirimlerden yola çıkarak Test ve Geri Bildirim uzantısından gönderilen hata bildirimleri, görevler veya test çalışmaları sırasında izlenebilirlik bağlantılarını geliştiriyoruz. Gereksinimler keşfedilirken oluşturulan hatalar ve görevler artık takımın varsayılan değerleri yerine gereksinimle aynı alan yolu ve yinelemeyle oluşturulur. Oluşturduğunuz test çalışmalarının otomatik olarak gereksinim tabanlı test paketlerine eklenmesi için, gereksinimler keşfedilirken oluşturulan test çalışmaları artık Üst Öğe <-> Alt Öğe bağlantısı yerine Testler <-> Test Eden bağlantısına sahip olur. Son olarak, belirli bir gereksinim keşfedilmediği sırada oluşturulan iş öğeleri, sprint planlaması tamamlandıktan sonra geçerli yinelemeye yeni iş öğelerinin gelmemesi için geçerli yineleme yerine takımın varsayılan yinelemesine kaydedilir.

Test Merkezindeki Test Planları ve Paketlerinde Test Çalışması iş öğeleri için filtreler

Sonuç, Yapılandırma ve Test Edici gibi Test alanlarına yönelik filtrelere ek olarak artık Başlık, Durum ve Atanan gibi Test Çalışması iş öğesi alanlarını da filtreleyebilirsiniz (Şekil 89).

Test çalışması filtreleri

(Şekil 89) Test çalışması filtreleri

Yayın Ortamları ve Test Çalıştırmaları için test eğilimi grafikleri

VSTS panolarında test ortamlarının durumunu izleyebilmeniz için Test Sonucu Eğilimi pencere öğesinde (Şekil 90) Yayın Ortamları desteği ekleniyor. Derleme’deki test sonuçları için yaptığınız gibi artık Yayın Ortamları için de test başarı oranını, başarılı ve başarısız testleri, toplam sayıyı ve test süresini gösteren eğilim grafikleri oluşturabilirsiniz. Ayrıca, Test Çalıştırması başlık filtresiyle grafikleri bir ortamdaki belirli bir test çalıştırmasını gösterecek şekilde filtreleyebilirsiniz.

Test eğilimi grafiği

(Şekil 90) Test eğilimi grafiği

Test Çalıştırması ve Test Sonucu açıklamaları için markdown biçimlendirme desteği

Test Çalıştırması ve Test Sonucu açıklamalarını markdown söz dizimi ile biçimlendirme desteği ekleniyor. Bu özelliği kullanarak biçimlendirilmiş metinler veya açıklamalarınızdaki URL’lerin hızlı bağlantılarını oluşturabilirsiniz. Test merkezinde Sonuç Özeti sayfasındaki Test Sonucu açıklamalarını Analizi güncelleştir özelliğiyle, Çalıştırma Özeti sayfasındaki Test Çalıştırması açıklamalarını ise Açıklamaları güncelleştir özelliğiyle güncelleştirebilirsiniz.

Derleme veya Yayın özeti sayfasında ya da Test merkezinde test sonucunu analiz ederken artık mevcut bir hatayı başarısız olan bir testle ilişkilendirebilirsiniz. Bu, zaten kaydedilen bir hata nedeniyle başarısız olan bir test olduğunda kullanışlıdır.

SharePoint için TFS Uzantısı durduruluyor

TFS 2018 ve üzeri sürümler artık SharePoint için TFS Uzantısını desteklemez. Ayrıca, bir TFS Sunucusu ile SharePoint sunucusu arasındaki etkileşimi yapılandırmak için kullanılan ekranlar Team Foundation Yönetim Konsolu’ndan kaldırıldı.

Bundan sonra, genel API’ler ve genişletilebilirlik çerçeveleri aracılığıyla sunucular arası tümleştirmeyi desteklemeyeceğiz.

TFS/SharePoint tümleştirmesi yapılandırılmış bir sunucuyu yükseltiyorsanız, sunucular arası tümleştirmeden “yükselterek geçiş yapmanız” için bir çözüm sağladık. Yükseltmeden sonra TFS SharePoint siteleriniz görüntülenmeye devam eder, ancak tümleştirme özellikleri devre dışı kalır. Daha fazla bilgi ve yönergeler için lütfen buraya gidin.

Takım Odaları durduruluyor

Modern geliştirme ekipleri yoğun işbirliğine dayanır. Takım üyeleri, etkinlikleri (bildirimler) izlemek ve bunlar üzerine konuşmak (sohbet) için bir yer ister (ve buna ihtiyaç duyar). Birkaç yıl önce bu eğilimi fark ettik ve böyle senaryoları desteklemek için Takım Odası’nı oluşturduk. O zamandan beri, işbirliği yapmaya yönelik daha fazla çözüm pazara sunuldu. En çok göze çarpan gelişme, Slack’in yükselişiydi. Daha yakın bir tarihte de Microsoft Teams duyuruldu.

TFS ve Visual Studio Team Services ile sorunsuz bir biçimde tümleştirilebilen bu kadar iyi çözüm karşısında, Takım Odası özelliğini hem TFS 2018’den Visual Studio Team Services’ten kaldırmaya ilişkin planlarımızı Ocak ayında duyurduk.


Bilinen Sorunlar

TFS Veritabanı İçeri Aktarma Hizmeti RC sürümlerini desteklemiyor

Visual Studio Team Services için TFS Veritabanı İçeri Aktarma Hizmeti, TFS’nin RC sürümlerini desteklemez. Bu hizmeti kullanarak koleksiyon veritabanınızı Team Services’e aktarmayı planlıyorsanız, üretim veritabanınızı bu RC sürümüne yükseltmemeniz gerekir. Yükseltirseniz, bekleyip bu sürümün RTW sürümüne yükseltmeniz veya içeri aktarmak için veritabanınızın önceki bir TFS sürümünden yedek bir kopyasını geri yüklemeniz gerekir.

Derleme/Yayın’daki Visual Studio Test v1 görevi, Visual Studio 2017 Güncelleştirme 3’ü kullanarak test çalıştıramaz

Derleme/Yayın’daki Visual Studio Test v1 görevi, Visual Studio 2017 Güncelleştirme 3’ü kullanarak test çalıştıramaz. Görevler ‘vstest.console.exe konumu belirlenemiyor’ iletisiyle başarısız olur. Geçici bir çözüm olarak Visual Studio Test görevinin 2. sürümü kullanılabilir.