Azure DevOps Server 2019 RC Kurulumu
Azure DevOps Server 2019, eski adıyla Team Foundation Server (TFS), Microsoft’un düzenli bir şekilde yazılım projeleri geliştirmeyi mümkün kılan bir ürün ailesidir. Yazılım geliştirme ekiplerinin ve yazdıkları kodları yönetmeyi sağlamanın yanında versiyon kontrol sistemi (VCS), Jira gibi bir sorun takip aracı (issue tracker) ve yazılım yaşam döngüsü yönetiminden (ALM) oluşan bir kombinasyondur.
Bu yazımızda Azure DevOps Server 2019’un RC (nihai sürüm adayı) sürümünü, yine yakında zamanda kullanıma sunulan Windows Server 2019 işletim sistemi üzerine kurulumunu anlatacağım. Neden RC sürüm ve neden Windows Server 2019? Girizgah yazımda da belirttiğim tecrübe edeceğimiz bütün ürün ve servislerde son sürümlerini kullanmaya özellikle dikkat edeceğiz.
DevOps Server 2019 RC’yi kuracağımız altyapıyı kurgulamanın birçok yöntemi var. Bütün sunucu rollerinin, veri tabanının ve dosya depolarının tek sunucuda olduğu küçük ölçekli kurulumlardan, çoklu sunucu mimarisinde, hem Front Tier hem de Data Tier bileşenlerinin birden çok sunucuya yayıldığı, yüksek erişilebilir, esnek ve ölçeklenebilir yapılarda da kurulum gerçekleştirilebilir. Burada önemli olan iş ihtiyaçları, maliyet, performans ve feragat edeceğiniz özelliklere göre doğru kararı vermektir.
Sunucularımızı Microsoft Azure bulut ortamındaki sanal makineler üzerinde ayaklandıracağız. DevOps Server 2019’u Front Tier katmanını bir sunucuya, Data Tier katmanını ise ayrı bir sunucuya kuracağız. Data Tier katmanı bileşenleri olan veri tabanı, Analysis Services ve Reporting Services (SSRS) aynı sunucuda olacak. İstersek bu katmanı SQL AlwaysOn Availability Groups veya bu sürüme yeni eklenen Azure SQL (PaaS) desteği ile yüksek erişilebilir şekilde de kurabiliriz. Özellikle Azure’da AlwaysOn Availability Group kurulumu başlı başına bir makale konusu olabileceği için şimdilik burada buna değinmeyeceğiz. Fakat ürün nihai sürüme ulaştığında yüksek erişebilir bir yapıda kurulumu anlatan bir makale de yayımlamayı planlıyorum. Hatta son teknoloji demişken veri tabanını Azure SQL’de dahi konumlandırabiliriz. Yorum kısmına bu konuyla ilgili görüşlerinizi bildirmenizi rica ediyorum.
Yazımızın bazı noktalarında ürünün Azure’da konumlandırılmasına has bazı konfigürasyonlar yapacağız. Burada makalenin amacını bozmadan, ufak tüyolar ile konuyu pekiştireceğim.
Test ortamımızda halihazırda bir Active Directory sunucusu var. Dolayısıyla bütün kurulum, AD Domain yapısı üzerinde kurgulanmış durumda. Eğer bir AD sunucunuz yoksa öncesinde bunu kurup yapılandırmanız gerekecektir.
Öncelikle sanal makinelerimizi oluşturalım. Ücretsiz olarak açabileceğiniz bir Azure hesabı ile portala giriş yaptıktan sonra sanal makine oluşturma ekranına geçin. İlk olarak Front Tier katmanının kurulacağı sunucuyu oluşturalım.
Application Tier, yani DevOps Server 2019'un kurulumunu yapacağımız makineyi böylece ayaklandırmış olduk. Şimdiyse veri tabanı, Analysis Services ve Reporting Services rollerinin kurulacağı ikinci sunucuyu ayaklandıralım.
Yine B2ms makine tipini seçelim ve Disks sekmesinde ek olarak şu ayarları yapalım.
Neden bu makineye iki adet data disk ekledik? Bu makinede SQL Server çalışacak ve dolayısıyla erişim süresi ve gecikmelere hassas bir iş yükü çalışacak. Best practice’te SQL Server’ın her bir bileşeni için ayrı boyut ve tiplerde diskler kullanılır fakat bir lab ortamı olduğu için şimdilik iki adet data diski ekleyeceğiz ve bunları Windows Server 2019'un Software Defined Storage özellikleriyle bir depolama havuzuna dönüştüreceğiz.
Makinelerimiz kurulup ayağa kalktıktan sonra aşağıdaki resimde görüdüğünüz kısımdan makinenin erişim bilgilerini görebileceksiniz.
Makineler hazır. İlk önce Data Tier katmanından başlayacağız. SQL sürümü olarak SQL Server 2017 Enterprise Edition kullandım. Siz ise Enterprise sürüm ile birebir aynı özellik setini içeren fakat sadece test ve lab ortamları için ücretsiz olarak sunulan Developer Edition’ı indirip kullanabilirsiniz.
SQL Server 2017 Developer Edition’ı aşağıdaki linkten indirebilirsiniz:
SQL Server’ı yönetmek için kullanacağımız SQL Server Management Studio’yu (bundan sonra SSMS diyeceğim) aşağıdaki linkten indirebilirsiniz.
Data Tier katmanı için indirilecek kısımlar şimdilik tamam.
Sunucumuzu oluştururken eklediğimiz iki data diskini yapılandıralım. Diskleri RAID0 yapısıyla birleştirip IOPS tarafında maksimum seviyeye ulaşacağız. Başlat ikonuna sağ tıklayıp “Disk Management” a girelim.
Sihirbazın “Results” aşamasında “Create a virtual disk when this wizard close” kutucuğunu tikleyip Virtual Disk oluşturma sihirbazını tetikleyelim.
Açılan yeni sihirbazda Layout olarak Simple’ı seçiyoruz. Geleneksel disk konfigürasyonunda bu ayar RAID0'a tekabül ediyor. Sihirbazın “Results” aşamasında “Create a volume when this wizard closes” kutucuğunu tikleyip volume oluşturma sihirbazını tetikleyelim.
Oluşturacağımız volume’un dosya sistemini (NTFS), ismini ve sürücü harfini belirledikten sonra sihirbazı tamamlayabiliriz. Artık “striping” mantığında çalışan 512 GB’lık bir depolama havuzumuz var. 256 GB’lık Standard SSD tek başına 500 IOPS ve 60 MB/s througput sunarken şuan Simple disk yapılandırması ile bu rakamları iki katına çıkarmış olduk.
İndirdiğimiz SQL Server 2017 ISO dosyasına çift takladıktan sonra setup.exe dosyasını çalıştıralım ve kuruluma başlayalım. New Standalone Instance seçeneğine tıklayalım.
Feature Selection adımına geldiğimizde Database Engine Services, Full-Text and Semantic Extractions for Search, Analysis Services özelliklerini seçerek devam edelim.
SQL Server 2017 ile Reporting Services ayrı bir indirilebilir dosya olarak internette sunuluyor. Şayet SQL Server 2016 kullanıyorsanız yine bu ekranda Reporting Services’ı da seçmeyi unutmayın.
Server Configuration aşamsında Collation ayarları sekmesinde SQL Server için SQL_Latin1_General_CP1_CI_AS; Analysis Services için Latin1_General_CI_AS seçelim.
Database Engine Configuration ekranına kadar ilerleyelim. Bu ekranda “Add current user” diyerek kurulumu yaptığımız mevcut domain kullanıcısını SQL Server Admin’leri arasına ekleyelim. Sysadmin yetkisi vermek istedğiniz farklı domain kullanıcıları varsa “Add” diyerek bunları ekleyebilirsiniz.
Analysis Services Configuration adımında Server Cofiguration Mode’unu “Multidimansional and Data Mining Mode” olarak işaretleyelim.
Bundan sonraki adımları hızlıca geçerek kurulumu başlatalım.
Kurulum bittiğinde internetten indirdiğimiz Reporting Services dosyasına çift tıklayarak çalıştıralım.
Sunucumuz yeniden açıldıktan sonra son olarak Windows Firewall’da iletişim için gerekli portları açmamız gerekiyor. Başlat menüsünden “Windows Defender with Advanced Security” yi aratarak firewall’ı açalım.
Data Tier katmanız artık hazır. Şimdi Front Tier kurulumuna geçebiliriz.
Front Tier için oluşturduğumuz sunucuya RDP ile bağlanalım ve aşağıdaki linkten Azure Devops Server 2019 RC’yi indirelim.
İndirdiğimiz mini kurulum dosyasına çift tıklayıp açılan ekranda “Install” diyerek geri kalan kurulum dosyalarının indirilip kurulması sürecini başlatalım.
Kurulum bittikten sonra konfigürasyon için “Start Wizard” butonuna basalım.
Database adımına kadar ilerleyelim. Burada biraz önce kurduğumuz SQL sunucumuzun IP adresini ve sunucu ismini belirtip “test” butonuna basalım. Testten başarıyla geçtiysek devam edebiliriz. Testin başarıyla geçmesi için SQL sunucusunda önceki adımlarda belirttiğimiz portların Windows Firewall’da açılmış olması ve kurulumu yapan domain kullanıcısının SQL Server’da sysadmin yetkisine sahip olması gerekiyor.
Accounts kısmına geçmeden önce Active Directory ortamında “tfs.service” ve “tfs.reports” isimli iki kullanıcı açalım. Bu kullanıcılardan ilkini DevOps Server service account, ikincisini ise Reporting Services service account’u olarak kullanacağız. Eğer Search hizmetini de kuruyor olsaydık bu işi için de bir service account açmamız gerecekti fakat bu yazımızda Search servisini kurmayacağız.
Yazımızın başında bu sunucu için 512 GB’lık ikincil bir data disk eklemiştik. İşte bunun sebebi File Cache Location için ayrı bir diskin tavsiye edilmesidir. Bu diski “Disk Management” üzerinden işletim sistemine tanıtıp, devreye aldıktan sonra bu ekranda dosya yolu olarak gösterelim.
Project Collection adımında projelerimizi barındıracağımzı ilk koleksiyonun ismini belirleyip Readiness Checks’e geçiyoruz.
Şayet bu pencereyi görüyorsak konfigürasyona başlayabiliriz demektir.
Kurulum bittiğinde web tarayıcınıza “http://ApptierSunucuİsmi/tfs” linkinten DevOps Server 2019 platformunun kullanıcı arayüzüne ulaşabiliriz.
Kurulumumuz böylelikle tamamlanmış oldu. Başka makalelerde görüşmek dileğiyle.