Azure DevOps Server için mimariye genel bakış

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2013

Not

Azure DevOps Server daha önce Visual Studio Team Foundation Server olarak adlandırılmıştı.

Dağıtımınızı en iyi şekilde planlamak ve yönetmek için öncelikle Azure DevOps Server temel mimarisini anlamanız gerekir. Mimariyi anlamak, dağıtımın genel durumunu korumanıza ve geliştirme ekiplerinizin gerektirdiği sunucuların ve hizmetlerin genel kullanılabilirliğini sağlamanıza yardımcı olabilir.

Azure DevOps Server çeşitli yollarla dağıtabilirsiniz: bir sunucuda; birçok sunucuda; ya da bir etki alanı veya çalışma grubunda veya etki alanlarında. alternatif olarak, dağıtımınızın tüm sunucu öğelerinin Microsoft tarafından sizin için barındırıldığından Azure DevOps Services kullanmayı da tercih edebilirsiniz. Mimariyi anlamak, hangi topolojinin iş gereksinimlerinizi karşılayacak en büyük olasılıklı karar vermenize yardımcı olabilir. topoloji seçiminizden bağımsız olarak, Azure DevOps Server temel alınan mimariyi anladıysanız, fiziksel ve mantıksal gereksinimleri daha iyi yönetebilirsiniz. Bu makalede, örnek dağıtımlar hakkında daha fazla bilgi için bağlantılarla birlikte çeşitli mimarilere basit bir genel bakış sunulmaktadır. Ayrıca hizmetler, veritabanları, yapılandırma bilgileri ve ağ bağlantı noktaları ve yerel dağıtımların protokolleri hakkında teknik bilgiler de sağlar.

Azure DevOps Server mimarisini ve dağıtımınızı nasıl etkileyeceğini anlamak için, aşağıdakileri göz önünde bulundurmanız gerekir:

  • Azure DevOps mantıksal uygulama, veri ve istemci katmanları ve uygulama ve veri katmanları için bir veya daha fazla sunucu kullanmak isteyip istemediğiniz ya da uygulama ve veri katmanlarının sizin için bulutta barındırılmasını isteyip istemediğiniz. Azure DevOps Services
  • Bu katmanları barındıran fiziksel veya sanal sunucuların konumu
  • Team Foundation yapısı ve ortamınızda çalışan derleme bilgisayarlarının sayısı ve konumu, geliştirme uygulamalarınızı desteklemek için kaç tane olmanız gerektiği veya yazılım uygulamalarınızı derlemek ve dağıtmak için Azure Pipelines bulut hizmetleri kullanıp kullanmayacağınızı de kapsayan
  • Azure DevOps Proxy sunucusu için olası gereksinim

Ayrıca, bu varlıklar arasındaki etkileşimleri göz önünde bulundurmanız gerekir. örneğin, barındırılan Azure DevOps Server hizmetini kullanmayı seçerseniz, istemcilerinizin 443 numaralı bağlantı noktasında hizmete erişebildiğinden emin olmalısınız. Azure DevOps Server yerel olarak dağıtmayı seçerseniz, Azure DevOps Server hangi Web hizmetleri, veritabanları ve nesne modellerinin kullandığını bilmeniz gerekir. ayrıca, hangi ağ bağlantı noktalarının ve protokollerin varsayılan olarak Azure DevOps Server kullandığını ve hangi ağ bağlantı noktalarını özelleştirebileceğinizi bilmeniz gerekir. son olarak, Azure DevOps Server ayarlamanız gereken izinleri ve dağıtımınızın bağlı olduğu bileşenleri ve programları anlamanız gerekir.

kendi hizmetlerinin yanı sıra, Azure DevOps Server çalışması için diğer hizmetlere bağımlıdır. bu hizmetler hakkında daha fazla bilgi için bkz. Azure DevOps Server veri ambarının Azure DevOps Server kavramları ve bileşenleri. yükleme için gereksinimler ve bağımlılıklar hakkında daha fazla bilgi için, Azure DevOps Server yükleme kılavuzu' na bakın.

Önemli

Microsoft Desteği veya veritabanlarını el ile yedekleme konusunda açıklanan yordamları takip etmediğiniz müddetçe Azure DevOps Server veritabanlarını el ile değiştirmemelisiniz. Diğer tüm değişiklikler, hizmet sözleşmenizi geçersiz kılabilir.

Azure DevOps Services

Azure DevOps Services

Microsoft, sizin için Azure DevOps Server tüm sunucu tarafı yönlerini barındırabilen Azure DevOps Services kullanma seçeneği sunar. Kaynak kodunuzun, iş öğelerinizin, yapı yapılandırmalarının ve takım özelliklerinin hepsi bulutta barındırılır. mimari bir görünüm noktasından bu, Azure DevOps Server kullanımını büyük ölçüde basitleştirir, bu da mimarinin göz önünde bulundurmanız gereken tek yönleri istemci bileşenleri ve bunların Internet erişimidir.

Azure DevOps Services kullanırken, Microsoft hesabı kullanarak hizmete bağlanmak için bir web tarayıcısı kullanın. projeleri oluşturabilir, takımınızla üyeler ekleyebilir ve sunucuları yönetme ek yükü olmadan yerel olarak yüklenmiş Azure DevOps Server çalıştığınız gibi çalışabilirsiniz. Azure DevOps Services, uygulama katmanınızı, veri katmanınızı ve yapı sunucularınızı bulutta barındırır.

bulut hizmetleri ile şirket içi dağıtımlar hakkında daha fazla bilgi edinmek için Azure DevOps Services ve Azure DevOps Servergözden geçirin.

Nesne modeli

barındırılan veya yerel olarak dağıtılan mimariyle, sunucu veya istemci nesne modelini temel alan bir uygulama yazarak Azure DevOps özelliklerini ve işlevlerini genişletebilirsiniz. Tüm dağıtım türlerinde, istemci yeteneklerini genişleten uygulamalar yazabilirsiniz. Ancak, sunucu yeteneklerini genişletmek isterseniz uygulamanızın uygulama katmanı sunucusunda çalışması gerekir. İstemci yeteneklerini genişletmek için, uygulamayı Takım Gezgini aynı bilgisayarda çalıştırmanız gerekir.

Azure DevOps Server nesne modeli

Yerel dağıtımlar için Web Hizmetleri ve veritabanları

Azure DevOps Server, Azure DevOps için mantıksal uygulama, veri ve istemci katmanlarını barındıran sunucu veya sunuculara ayrı olarak yükleyip yapılandırdığınız Web hizmetleri ve veritabanlarının bir kümesini içerir. Görev panosu ve biriktirme listesi ekibi tabanlı özellikler gibi bazı özellikler yalnızca web tabanlıdır ve istemci tarafı Web tabanlı bir hizmet aracılığıyla yalnızca bir Web portalı üzerinden erişilir. Sürüm denetimi özellikleri gibi diğer kullanıcılara bir Web portalı veya bir istemci uygulaması aracılığıyla erişilebilir. Aşağıdaki çizimler, Azure DevOps Server Yerel dağıtımlarında Web Hizmetleri, uygulamalar ve veritabanlarının yüksek düzey bir görünümünü sağlar.

Azure DevOps Server ana hizmet katmanları

isteğe bağlı Azure DevOps Server hizmetleri

Azure DevOps Server istemcileri

Koleksiyon düzeyi Hizmetleri

Koleksiyon düzeyi hizmetler, proje koleksiyonu düzeyindeki işlemler için işlevsellik sağlar. bu hizmetlerden bazılarını kullanarak Azure DevOps Server genişleten uygulamalar oluşturabilirsiniz. Azure DevOps Server yönelik uygulamalar oluşturma hakkında daha fazla bilgi için bkz. uzantıları geliştirme.

Not

Bazı hizmetler birden fazla düzeyde görüntülenir. Örneğin, kayıt defteri hizmeti koleksiyon düzeyinde ve sunucu düzeyinde çalışır ve her iki listede de görünür.

Framework Hizmetleri:

  • Kayıt defteri hizmeti
  • Kayıt Hizmeti (Azure DevOps Server önceki sürümleriyle uyumluluk için)
  • Özellik hizmeti
  • Olay hizmeti
  • Güvenlik hizmeti
  • Konum hizmeti
  • Kimlik yönetimi hizmeti
  • Sürüm denetimi Web hizmeti
  • Çalışma öğesi Izleme Web hizmeti
  • Team Foundation derleme Web hizmeti
  • Laboratuvar Yönetimi Web hizmeti
  • VMM Yönetim Web hizmeti
  • Test Aracısı denetleyici Web hizmeti

Sunucu düzeyi hizmetler

sunucu düzeyi hizmetler (uygulama düzeyi hizmetler olarak da bilinir), yazılım uygulaması olarak Azure DevOps Server işlemler için işlevsellik sağlar. bu hizmetlerden bazılarını kullanarak Azure DevOps Server genişleten uygulamalar oluşturabilirsiniz.

Framework Hizmetleri:

  • Kayıt defteri hizmeti
  • Olay hizmeti
  • Project Koleksiyon hizmeti
  • Özellik hizmeti
  • Güvenlik hizmeti
  • Konum hizmeti
  • Kimlik yönetimi hizmeti
  • Yönetim hizmeti
  • Koleksiyon yönetimi hizmeti
  • Katalog hizmeti

Veri katmanı

Veri katmanı verileri, saklı yordamları ve diğer ilişkili mantığı içerir. Azure DevOps Services kullandığınızda, veri katmanı Azure SQL Server kullanılarak sizin için barındırılır. Azure DevOps Server yerel dağıtımında mantıksal veri katmanı, SQL Server içindeki aşağıdaki işlemsel depolardan oluşur. Bu mağazalar bir fiziksel sunucuda bulunabilir ya da birçok sunucuya dağıtılmış olabilir. bu işlem mağazalarından bazılarını kullanarak Azure DevOps Server genişleten uygulamalar oluşturabilirsiniz.

  • Yapılandırma veritabanı (TFS_Configuration)
  • Uygulama ambarı (TFS_Warehouse)
  • Analysis Services veritabanı (TFS_Analysis)
  • Proje koleksiyonları için veritabanları (TFS_CollectionName)

aşağıdaki tabloda, Azure DevOps Server yerel dağıtımlarda kullanılan veritabanlarının bir listesi verilmiştir. Aksi belirtilmedikçe, bu listedeki tüm veritabanlarını yüklendiği orijinal sunucudan ve örnekten taşıyabilir ve bunları başka bir sunucuya veya örneğe geri yükleyebilirsiniz.

Veritabanı Adı Description Sunucu
TFS_Configuration Bu veritabanı, Azure DevOps Server için kaynak kataloğunu ve yapılandırma bilgilerini depolar. Bu veritabanı, veritabanı için işletimsel Azure DevOps Server. Yükleme SQL Server yapılandırıldığında Azure DevOps Server örnek.
Tfs_warehouse Bu veritabanı raporların verilerini depolar. Yükleme SQL Server yapılandırıldığında Azure DevOps Server örnek.
Tfs_analysis Bu çok boyutlu veritabanı, proje koleksiyonlarından toplanan verileri depolar. Yükleme SQL Server yapılandırıldığında SQL Server Analysis Services örnek.
Proje koleksiyonları için veritabanları Her proje koleksiyonu için, bu koleksiyonda yer alan tüm projelerden verileri içeren bir veritabanı. Uygulama SQL Server uyumlu bir Azure DevOps Server.

İstemci katmanı

İstemci katmanı, sunucu nesne modeli aracılığıyla uygulama katmanıyla iletişim kurar ve bu katman için listelenen Web hizmetlerini kullanır. Bu, yerel olarak dağıtım Azure DevOps Server veya yerel olarak dağıtım Azure DevOps Services. Bu modelin yanı sıra istemci katmanı Visual Studio Endüstri İş Ortakları (VSIP) bileşenlerinden, Microsoft Office tümleştirmeden, komut satırı arabirimlerinden ve iade ilkelerine yönelik bir çerçeveden oluşur.

Yapılandırma

Barındırılan hizmet, istemci hizmetleri, yerel olarak dağıtılan ve bulutta barındırılan uygulama ve veri katmanlarına İnternet bağlantısına bağlıdır. Yerel bir Azure DevOps Server dağıtımı SQL Server, Internet Information Services (IIS) ve Windows işletim sistemine bağlıdır. Seçtiğiniz topolojiye bağlı olarak, Azure DevOps Server ürünlere veya ürünlere SQL Server Reporting Services SharePoint olabilir. Bu nedenle, Azure DevOps Server yapılandırma bilgileri aşağıdaki konumlardan herhangi biri içinde depolanmış olabilir:

  • IIS veri depoları.
  • Yapılandırma dosyaları Azure DevOps Server.
  • Reporting Services için veri kaynakları (örneğin, TFSREPORTS verileri).
  • Azure DevOps Server için yapılandırma veritabanı. Kayıt Azure DevOps Server yapılandırma veritabanının bir parçası.
  • Windows Kayıt defteri.

Farklı yerel dağıtım topolojileri örnekleri ve bu kaynakların depolandığı yer için bkz. Basit TopolojiÖrnekleri, Orta TopolojiÖrnekleri ve Karmaşık Topoloji Örnekleri. Yerel dağıtım ve dağıtım Azure DevOps Server, bu yapılandırma kaynaklarını dikkate amalısınız. Yapılandırmayı herhangi bir şekilde değiştirmek için birden çok konumda depolanan bilgileri değiştirmeniz gerekir. Ayrıca veriler ve istemci katmanları için yapılandırma bilgilerini de değiştirmeniz gerekir. Azure DevOps Server, bu değişiklikleri yapmanıza yardımcı olmak için bir yönetim konsolu ve birkaç komut satırı yardımcı programı içerir. Daha fazla bilgi için bkz. Yönetim görevi hızlı başvurusu.

Active Directory ve grup kimliklerinin eşitlendir

Active Directory etki alanında Azure DevOps yerel dağıtımlarda, aşağıdaki olaylardan herhangi biri oluştuğunda grup ve kimlik bilgileri eşitlenir:

  • Uygulama katmanı sunucusu başlatılır.
  • Bir Active Directory grubu bir Azure DevOps eklenir.

Zamanlanan işte belirtilen süre sona erer. Varsayılan değer bir saattir ve her 24 saatte Azure DevOps Server tüm gruplar güncelleştirilmektedir.

Kimlik Yönetimi Hizmetleri (IMS), Active Directory ile eşitlenir ve değiştirilen kimlikler sunucudan istemcilere yayılır. Varsayılan olarak, tüm gruplar 24 saat içinde güncelleştirmeyi tamamlar, ancak bunu dağıtım gereksinimlerinize daha iyi uyacak şekilde özelleştirebilirsiniz. Daha fazla bilgi için bkz. Azure DevOps Server için Güvenler ve Ormanlar ile ilgili dikkat edilmesi gerekenler. Active Directory kullanmayan yerel dağıtımlar için bkz. Çalışma grubunda Azure DevOps Server yönetme.

Gruplar ve izinler

Yerel bir dağıtımda Azure DevOps Server, proje, koleksiyon veya sunucu düzeyinde ayarlayabilirsiniz kendi varsayılan grup ve izin kümesine sahiptir. Özel gruplar oluşturabilir ve grup ve bireysel düzeylerde izinleri özelleştirebilirsiniz. Ancak, Azure DevOps Server'a ekley istediğiniz kullanıcılar veya gruplar, Azure DevOps Server yerel dağıtımlarının bağımlı olduğu iki bileşene otomatik olarak eklenmez: SharePoint Ve Raporlama Hizmetleri. Dağıtımınız bu programları kullanıyorsa, kullanıcılar ve gruplar eklemeli ve bu kullanıcıların veya grupların bu programlarda tüm işlemlerde düzgün çalışması için uygun izinleri Azure DevOps Server. Daha fazla bilgi için, bkz. Manage users or groups in Azure DevOps Server.

Barındırılan dağıtımlar için erişim, Microsoft hesapları ve takım üyeliğinin bir birleşimiyle denetlenr. Daha fazla bilgi için bkz. Azure DevOps Services bakın.

Ağ bağlantı noktaları ve protokoller

Varsayılan olarak, yerel dağıtım Azure DevOps Server ağ bağlantı noktalarını ve protokolleri kullanmak üzere yapılandırılır. Aşağıdaki çizimde, basit bir dağıtımda Azure DevOps Server için ağ trafiği gösterilmiştir.

Basit şirket içi yükleme

Benzer şekilde, konaklar için barındırılan Azure DevOps Server belirli ağ bağlantı noktalarını ve protokolleri kullanmak üzere yapılandırılır. Aşağıdaki çizimde barındırılan bir dağıtımda ağ trafiği gösterilmiştir.

Barındırılan Azure DevOps Server

Aşağıdaki çizimde, dağıtım için bileşenleri içeren daha karmaşık bir dağıtımda ağ trafiği Visual Studio Laboratuvar Yönetimi. (TFS 2017 ve sonraki sürümler için Laboratuvar Yönetimi kullanım dışı olduğunu unutmayın.)

Uygulama katmanı

Sanal ortamlar

sanal makineler

Sanal makineler, laboratuvar yönetim aracısını indirme hakkında herhangi bir test denetleyicisiyle iletişim kurmak için bağlantı noktası 80'i kullanır. İletişim sorunlarınız varsa bu bağlantı noktasının etkinleştirildiğinden kontrol edin.

Varsayılan ağ ayarları

Varsayılan olarak, bir dağıtımdaki bilgisayarlar arasındaki iletişim Azure DevOps aşağıdaki tabloda gösterilen protokolleri ve bağlantı noktalarını kullanır. Bir yıldız işareti (*) bağlantı noktası numarasını takip ediyorsa, bu bağlantı noktasını özelleştirebilirsiniz.

Katman ve hizmet Protokol Bağlantı noktası
Uygulama katmanı – Web Hizmetleri HTTP/HTTPS 8080/443*
Uygulama katmanı – SharePoint Ürün Yönetimi HTTP SharePoint Products yüklüyse 17012* Azure DevOps Server; aksi takdirde, rastgele oluşturulmuş
Uygulama katmanı – SharePoint Ve Raporlama Hizmetleri HTTP
Windows Yönetim Araçları (WMI) hizmeti (raporlama hizmetlerinin URL'lerini belirtmek ve doğrulamak için yükleme sırasında gereklidir)
80* Dinamik bağlantı noktası
Veri katmanı MS-SQL TCP 1433*
Veri katmanı (SQL Server Analysis Services) MS-AS default (2382 veya 2383)*
Varsayılan bağlantı noktası, yüklemenizin sürümüne ve SQL Server türüne bağlı olarak değişir. Dağıtımınız SQL Server Yapılandırma Yöneticisi bağlantı noktalarını belirlemek için SQL Server Yapılandırma Yöneticisi'i kullanın.
Azure DevOps Proxy Sunucusu - istemciden ara sunucuya HTTP 8081*
Azure DevOps Ara Sunucu - uygulama katmanına ara sunucu HTTP/HTTPS 8080/443*
İstemci katmanı - Reporting Services HTTP 80*
İstemci katmanı - Web hizmetleri HTTP/HTTPS 8080/443*
Uygulama katmanı http/HTTPS'ye derleme denetleyicisi 8080/443
Aracıyı uygulama katmanına derleme HTTP/HTTPS 8080/443
Release Management Sunucu HTTP veya HTTPS 1000*
Release Management Client HTTP veya HTTPS 1000*
Release Management Aracısı HTTP veya HTTPS 1000*
Test denetleyicisini uygulama katmanına HTTP/HTTPS 8080/443*
Test denetleyicisine uygulama katmanı .NET'emoting 6901*
Etki Alanı Adı Sistemine (DNS) uygulama katmanı DNS Dinamik Güncelleştirmesi 53
Uygulama katmanı – Virtual Machine Manager HTTP 8100
Aracıyı test etmek için test denetleyicisi .NET'emoting 6910*
Test aracısını test denetleyicisine .NET'emoting 6901*
Derleme aracısını derlemek için derleme denetleyicisi HTTP üzerinden SOAP 9191
Yalıtılmış bir ortamda laboratuvar aracıdan laboratuvar aracıya TCP yuvaları 9050
Derleme denetleyicisi için derleme aracısı HTTP üzerinden SOAP 9191
Virtual Machine Manager Yönetici Konsolu – Virtual Machine Manager HTTP 8100
Virtual Machine Manager: Virtual Machine Manager konakları Windows Eylemleri gerçekleştirmek için Uzaktan Yönetim (WinRM)
Arka Plan Akıllı Aktarım Hizmeti (BITS) ile veri aktarma
Eylemleri gerçekleştirmek için 80
Veri aktarımı için 443
Virtual Machine Manager– Virtual Machine Manager kitaplık sunucusu Eylemleri gerçekleştirmek için WinRM
Veri aktarımı için BITS
Eylemleri gerçekleştirmek için 80
Veri aktarımı için 443
Uygulama katmanı – Virtual Machine Manager konakları Dağıtılmış Bileşen Nesne Modeli/Windows veri aktarımı için Yönetim Arabirimi (DCOM/WMI) iletişimi 135
49152 ile 65535 aralığında dinamik olarak atanır
İstemci katmanı – Virtual Machine Manager konakları Sanal makineye konak tabanlı bağlantı. Konak tabanlı bağlantılar gerçekleştirmek için 2179
Barındırılan hizmetler HTTPS 443

Özelleştirilebilir ağ ayarları

Önceki tabloda da olduğu gibi, yerel dağıtımlarda uygulama, veri ve istemci katmanları arasındaki iletişimi özel bağlantı noktalarını Azure DevOps Server değiştirerek değiştirebilirsiniz. Aşağıdaki tabloda HTTP'den HTTPS'ye bağlantı noktalarında yapılan örnek değişiklikler açıkmaktadır.

Not

Bu Azure DevOps Server https ve Güvenli Yuva Katmanı kullanmak üzere yapılandırmak için, https ağ trafiği için bağlantı noktalarını etkinleştirmenin yanı sıra birçok başka görev de gerçekleştirmeniz gerekir. Daha fazla bilgi için bkz. https'yi Güvenli Yuva Katmanı (SSL) ile Azure DevOps Server.

Hizmet Protokol Bağlantı noktası
SSL ile Web Hizmetleri HTTPS Yönetici tarafından yapılandırıldı
SharePoint Merkezi Yönetim HTTPS Yönetici tarafından yapılandırıldı
SharePoint Ürünleri HTTPS 443
Reporting Services HTTPS 443
İstemci Web Hizmetleri HTTPS Yönetici tarafından yapılandırıldı
Sürüm Yönetimi HTTPS Yönetici tarafından yapılandırıldı