25 Mart 2015 Çarşamba

Team Foundation Server ile Folder, Branch ve Label Oluşturma

     Team Foundation Server (TFS)'ın çok güçlü bir Branch mekanizması vardır. Kaynak kod ağacının herhangi bir noktasına aşağı farklı ve çok kademeli Branch oluşturmaya izin verir.[1]  TFS üzerinde parelel kod geliştirmek yada başka bir sebepten dolayı kodun kopyasını almak istediğimizde Branch işlemi ile yapabiliriz.

     Branch (dal) oluşturmanın iki temel amacı vardır:
     İlk olarak paralel kod geliştirmek istediğimizde farklı takımların birbirini etkilemeksizin çalışabilmesine olanak sağlar.
     Diğer amacı ise geliştirdiğimiz kaynak kod ile yayınlamış olduğumuz sete ait kaynak kodlarının birbirini her adımda etkilemesini engellemek. Bu amaca uygun olarak 3 farklı dallanma yapılması önerilir. Bunlar Dev, Main ve Release olması tavsiye edilir.[2]
     Ekipler işlerini birleştirmek üzere hazır olduklarında kendi branchlarını Dev Branch'ı altında birleştirirler. Dev Branch'ındaki yapılar sabit ve teste hazır olduklarında, ekipler Dev Branch'ını Test Branch'ıyla birleştirirler.[3]
     Her sürüm yayınlandığında Main Branch, Version1 branch, Version2 branch gibi yeni sürüm branchlara ayrılır. Bu stratejiyi izleyerek gerektiğinde, ürünlerin geçmiş sürümlerinden her biri ayrı ayrı geliştirebilir ya da düzeltebilir.[3]
     
     Kullanılan bazı branch modelleri aşağıdaki şekillerde gösterilmiştir:

[image[39].png]
Şekil 1: Basit Branch Planı[2]
[image[38].png]
Şekil 2: Standart Branch Planı[2]

[image[32].png]
Şekil 3: Gelişmiş Branch Planı[2]
     Folder (Klasör) yalnızca branch, file yada diğer folderlar için container olarak düzenlemek için kullanılmaktadır. Branchları folder yapısı altında bulundurmak branchları organize etmemize yardım eder ve Source Control Explorer'daki kaynak kod ağacında gezinmeyi kolaylaştırır. Folder ve branch farklı görünüme ve özelliklere sahiptir. Bir branch ve folderı sağ tıklayıp Özellikler öğesini tıkladığımızda, farklı bilgi ve işlevselliği görüntüleriz. [4] 

     Şekil 4'te örnek folder ve branch yapısı görülmektedir.
Şekil 4: Folder ve Branch Yapısı[3]
     1. Team Project Altında Folder Oluşturma
     Bu adımda, daha önce oluşturduğumuz Team projemizin source control ekranında Main adında bir root folder oluşturacağız. Bunu kaynak kodlarınız ve diğer proje mimarileriniz için root düzeyinde bir container olarak kullanabilirsiniz. Ayrıca birden fazla projeye yayılan herhangi bir Visual Studio solution(.sln) dosyalarını da burada saklayabilirsiniz.

     İlk olarak Visual Studio'yu açarak Team Explorer'dan Source Control Explorer'ı açıyoruz. Şekil 5'te görüldüğü gibi projemize sağ tıklayarak New Folder diyoruz ve sağda dosya adına main yazıyoruz.

Şekil 5: Folder Oluşturma
     Şekil 5'te görüldüğü gibi oluşturduğumuz folderda check-in yapmadığımızı belirten "eklenmeyi bekliyor" simgesi (yeşil + işareti) bulunmakdır. main folderımıza sağ tıklayarak Check In Pending Changes diyerek Şekil 6'da görülen kısma (comment) açıklama yazıyoruz ve üstteki Commit butonuna tıklıyoruz. Daha sonra açılan uyarı ekranında bir daha görmek istemiyorsak kutuyu işaretleyip devam ediyoruz.

Şekil 6: Check In Pending Changes
     Tüm adımları başarı ile yaptığımızda projemizin altında main folder oluşturmuş olduk.

     2. Folder'ı Branch'a Çevirme
     Solution Control Explorer içinde dönüştürmek istediğimiz folderın sunucuda mevcut olduğundan emin olduktan ve folderın yanında eklenmeyi bekliyor işeretini görüyorsak Check In Pending Changes yaptıktan sonra oluşturmuş olduğumuz folderı brancha dönüştürmeye başlayabiliriz. Bunun için ilk olarak Source Control Explorer'da gördüğümüz main klasörüne sağ tıklayarak Branching and Merging deki Convert to Branch'e tıklarıyoruz. Karşımıza Şekil 7'de görülen ekran çıkıyor.  Burada kimin oluşturduğunu ve açıklama ekleyebilirsiniz.

Şekil 7Convert Folder to Branch
     Convert'e tıkladıktan sonra çevirme işlemini tamamlamış oluyoruz. Folder şekil 8'de görüldüğü gibi brancha dönüşmüş oldu. Bir folderı brancha dönüştürdükten sonra branch yapısını değiştirmeye karar verirsek aynı şekilde tekrar foldera dönüştürebiliriz.

Şekil 8: Branch
     Önemli bir not düşmek gerekirse, branchları iç içe geçiremezsiniz, bu nedenle bir branch içeren ya da bir dala ait olan folderı brancha dönüştüremezsiniz. Örneğin şekil 9'da gösterilen FeatureTeamA branchının üst veya alt folderlarının brancha dönüştürülemeyeceğini gösterir.[3]

Şekil 9: Branch Örneği[3]
     Bir folderı brancha dönüştürdükten sonra söz konusu branchtan sağ tıklayarak Branching and Merging'den Branch a tıklayarak başka branchlar oluşturabilirsiniz.

     Branch oluştururken dikkat edilmesi gereken en önemli nokta gereksiz branch oluşturmamaktır. Çünkü branch kullanmak projemize karmaşıklık ve maliyet ekleyebilir. Örneğin bir sonraki yazımda bahsedeceğim merge (birleştirme) işleminde iki branchı merge etmek istediğimizde oluşan çakışmaları çözümlemek zorunda kalabiliriz. Bu yüzden bir branch oluşturmadan önce label (etiket) uygulayarak gereksinimlerimizi daha iyi karşılayıp karşılayamayacağınızı düşünmeliyiz. Label uygulayarak dosyalarımızın durumunun anlık görüntüsünü hızlı ve kolay bir şekilde alabiliriz, böylece daha sonra bu durumdaki dosyaları alabilir veya build edebiliriz. [3]

     3. Label Kullanma
     Label daha sonra başvurabilmemiz için dosyalarımızın belirli anda anlık görüntüsünü almamızı sağlar. Labellarımızı kullanarak, büyük bir dosya kümesini görüntüleyebilir, yapılandırabilir ya da labelı uyguladığımızdaki durumuna geri alabiliriz. Label uygulamak branch oluşturmayla aynı yararları, daha az maliyet ve karmaşıklıkla birlikte sağlar.
   
     Label uygulamak için Sounce Control Explorer'da , label uygulamak istediğimiz koleksiyon, takım projesi, branch ya da  folder üzerinde sağ tıklayarak Advance menüsünden Apply Label seçeneğini tıklıyoruz. Karşımıza şekil 10'da görülen pencere çıkmaktadır.

Şekil 10: Label Oluşturma
     Name kısmına dilediğimiz bir adlandırma kuralını izleyen label için bir isim veriyoruz. İsteğe bağlı olarak Comment kısmına yorum bırakabiliriz. Version listesinde default olarak son versiyon seçilidir ama değiştirmek istersek 4 seçeneğimiz daha var:
     Changeset seçeneğinde Changeset box'tan numarasını belirleyerek seçebiliyoruz ya da yanda açılan "..." kutusundan varolanlardan istediğimizi seçebiliyoruz.
     Date seçeneğinde belirli bir tarihteki halini seçebiliyoruz.
     Label seçeneğinde yeni labelın temel alacağı varolan labellardan seçim yapılır. Varolan labelları görmek için yine "..." kutusundan arama yaptırabiliriz.
    Workspace Version seçeneğinde kendi çalışma alanımızdaki versiyonu için label oluşturulur.

     Ayarlarımızın istediğimiz gibi olduğundan emin olduğumuzda Create  yada daha sonra değiştirebilmek için oluşturduktan sonra label penceresini açan Create and Edit seçeneklerinden birini seçerek label oluşturmayı tamamlıyoruz.

     3.1. Labelları Listelemek ve Bulmak
     Labelları bulmak için Source Control Explorer'da projemize sağ tıklayarak Find menüsünden Find Labels seçeneğini seçiyoruz. Daha sonra karşımıza şekil 11'de görülen pencere çıkmaktadır.

Şekil 11: Label Bulma
    Üstte görülen arama kriterlerinden istediklemizi girerek Find diyoruz ve projemizde bulunan labellar karşımıza çıkmış oluyor. Buradan istersek değiştirebilir ya da silebiliriz.

     3.2. İstenilen Label Versiyonunu İndirme     Bir labelı aldıktan haftalar ya da aylar sonra, dosyaların anlık görüntüde varolan durumunu görüntülemek ya da o durumuyla çalışmak isteyebiliriz. Bir dosya kümesinin labelını çalışma alanımıza indirmek için Advanced menüsünden Get Specific Version diyerek şekil 12'de görülen pencere ile karşılaşıyoruz.

Şekil 12: Label İndirme 
     Burada Type olarak Label seçiyoruz ve sağdaki "..." kutusundan varolan labellardan hangisini istediğimizi seçiyoruz ve Get diyerek işlemi tamamlıyoruz.
 
     Labellarda ilgili diğer işlemleri (dosya ekleme, çıkarma vs.) daha önce açmış olduğumuz label penceresi üzerinden yapabilirsiniz.

     Bu haftalık yazımı burada bitiriyorum. Haftaya Check-in, Check-out Yapımından devam edeceğim.
     
     Bir sonraki yazımda buluşmak üzere, okuduğunuz için teşekkürler.






12 Mart 2015 Perşembe

Team Foundation Server ile Proje Oluşturma

     Merhaba arkadaşlar,
     Bu yazımda sizlere önce Team Foundation Server (TFS)'nin kaynak kod kontrol özelliğinden biraz bahsedeceğim. TFS'nin muhtemelen kullanılmaya başlayan ilk bileşeni kaynak kod kontrol sistemidir. Sağladığı özellikleri listelemek gerekirse:
  • TFS kaynak kod kontrol sistemi dosyaları SQL veritabanı içerisinde saklar. Dolayısı ile gerektiği kadar güçlendirmek ve ölçeklendirmek mümkündür. Ayrıca istemcilerle iletişimi de tamemen web servisleri üzerinden olduğu için ağ üzerindeki uzaklıktan bağımsız olarak son derece hızlı çalışır. Zaten yüksek kullanıcı sayısı için tasarlanmıştır. Altına yeterli güçte bir donanım koyduğunuzda milyonlarca dosyayı, binlerde kullanıcyı duymaz bile.
  • Tüm işlemler atomik yapıda çalışır. Yani 100 dosyayı sunucuya iade ederken 99ncu dosyada çakışma çıkarsa tüm yapılan işlem geri alınır. Sunucudaki dosyalar yarı pişmiş halde bırakılmaz.
  • TFS aynı dosyayı aynı anda birden fazla kullanıcının üzerine almasına izin verir. Oluşacak muhtemel çakışmaları da oldukça iyi yönetir. İstenildiğinde dosyaların sadece bir kullanıcı üzerinde olmasına imkan sağlar (Lock). Otomatik birleştirme (auto-merge) algoritmaları son derece başarılıdır. 

  • Dosyalar TFS üzerinde aynen windows'un klasör yapısına benzer sanal bir ağaç yapısında saklanır. TFS açısından dosyaların içeriği önemli değildir. Onun açısından hepsi birer metin dosyasıdır. VB, C# ya da başka birşey olmasıyla pek ilgilenmez. Hatta daha önceden adı Teamprise olan, daha sonradan Microsoft'un satın almasıyla Team Explorer Everywhere adını alan eklenti sayesinde Eclipse ortamı üzerinde Java dünyasına da girer, Java kodlarını da memnuniyetle saklar.

  • TFS dosyaların tüm tarihçelerini saklar. Herhangi bir dosyanın herhangi bir zamandaki haline ulaşmak. Tüm geçmiş sürümlerini görmek ya da herhengi iki sürümünün arasındaki farkları görmek mümkündür (File History). Hatta bunun bir adım da ötesine geçerek bir dosyanın üzerindeki her bir satırın hangi tarihte kim tarafından neden yazıldığını görmek mümkündür (Annotate).

  • Çok güçlü bir branch mekanizması vardır. Kaynak kod ağacının herhangi bir noktasına farklı ve çok kademeli dallar oluşturmaya izin verir (Branch). Farklı dalların üzerindeki değişiklikleri çift yönlü olarak birleştirebilir (Merge). Farklı dallar üzerindeki dosyaların ilişkilerini takip etmeye devam eder ve herhangi bir dalda yapılan bir değişikliğin "Merge" işlemleri ile adım adım hangi dallara aktarıldığını takip etmek mümkündür. 

  • TFS'in rafları vardır. Yani bir kullanıcıya üzerindeki tüm değişiklikleri sunucu üzerinde bir rafa kaldırma (Shelve), daha sonra başka bir noktada raftan tekrar bilgisayara indirme (Unshelve) şansı verir. Bu mekanizma kod gözden geçirme çalışamalarında ve özellikle check-in edilmeye hazır olmayan kodları saklamada ya da makinadan makinaya taşımada çok kullanışlıdır.

  • Son olarak gelişmiş bir yetkilendirme sistemi vardır. Kaynak kod ağacının herhangi bir noktasında, branch'ler üzerinde, ya da dosya bazında kişilere ya da gruplara ayrıntılı yetkiler tanımlanmasına olanak tanır.

  • Kaynak kod sistemi özellikle Work Item sistemi ile olan entegre çalışması sayesinde müthiş olanaklar sağlar ama bu konuya Work Item sistemini anlatırken geleceğiz.[1]
       Şimdi gelelim Team Foundation Server ile proje oluşturmaya. İlk olarak TFS'ye nasıl bağlanacağınızı adım adım göstereceğim. Bunun için web access yada Visual Studio kullanabilirsiniz. Fakat bazı developmentlar için Visual Studio gerekli olduğu için ilk olarak Visual Studio 2013 ile TFS'ye nasıl bağlanacağınızdan bahsedeceğim.

     1. Visual Studio Kullanarak Team Foundation Server'a Bağlanma
      Visual Studio ile bağlanmak için bir kaç yol var, en kolayından başlarsak önceden var olan bir Collection'a bağlanalım.
      Visual Studio 2013'ü açtığımızda şekil 1'de gösterildiği gibi Team menüsünden Connect to Team Foundation Server ile ilerliyoruz.

Şekil 1: Team Foundation Server'a Bağlanma
     Daha sonra, sağda çıkan menüden Select Team Project diyerek şekil 2'de adım adım gösterdiğim şekilde ilerliyoruz. Çıkan pencereden kurulum sırasında oluşturduğunuz server adını girerek işlemleri tamamlıyoruz.

Şekil 2: Team Foundation Server Ekleme
     Server ekleme işlemini tamamladıktan sonra şekil 3'te gösterildiği gibi server seçtiğimizde bir önceki yazımda kurulum sırasında oluşturduğum Team Project Collection olan DefaultCollection otomatik olarak gelmiş oldu. Connect diyerek var olan bir Collection'a bağlanma işlemini tamamlamış olduk.

Şekil 3: Team Foundation Server'a Bağlanma

     2. Visual Studio ile Team Project Oluşturma
     Yukarıda servera bağlandık ama hali hazırda kullanabileceğimiz bir team project'imiz bulunmamaktadır. Bunun için adım adım proje oluşturmaktan bahsedeceğim.
     Proje oluşturmak için bir kaç seçeneğiniz var ama en kullanışlısından başlamak gerekirse ilk olarak şekil 4'te görüldüğü gibi Team Explorer menüsünden Create Team Project diyerek açılan pencerede oluşturmak istediğimiz projenin adını ve istersek açıklamasını girerek ilerliyoruz.

Şekil 4: Team Project Oluşturma
      Daha sonra şekil 5'te görüldüğü gibi bir process template seçmemiz gerekiyor. Projemizin yapısına uygun olanı seçip ilerliyoruz. Process template ler hakkında ayrıntılı bilgiyi aşağıdaki bağlantıdan bulabilirsiniz. Ben CMMI seçerek ilerliyorum.
      https://msdn.microsoft.com/en-us/library/ms400752.aspx

Şekil 5: Process Template Seçimi
     Process template seçildikten sonra versiyon kontrol sistemini seçmeye geliyoruz. Team Foundation Version Control ve Git seçeneklerimiz mevcut. İkisi arasındaki farkı açıklamak gerekirse:

     Team Foundation Version Control (TFVC ), merkezi sürüm kontrol sistemidir. Tipik olarak, ekip üyelerinin development makinelerinde her dosyanın sadece bir sürümü var. Tarihsel veriler yalnızca sunucu üzerinde tutulur. Branchlar yol tabanlıdır ve sunucu üzerinde oluşturulur.

     TFVC değişiklikler yapmak için ekibinize iki model sağlar:
     Server Workspaces: Ekip üyeleri, değişiklik yapmadan önce dosyaları herkesin bileceği şekilde kullanıma alır. Çoğu işlem developerların sunucuya bağlı olmasını gerektirir. Bu sistem iş akışlarını kilitlemenizi kolaylaştırır.
   Local Workspaces: Her ekip üyesi, kod tabanının en son sürümünün bir kopyasını yanına alır ve gerektiğinde çevrimdışı olarak çalışır. Developerlar değişikliklerini check in eder ve conflictleri gerektiği şekilde giderir.

     Git , dağıtılmış sürüm denetim sistemi şeklindedir. Her developerın development makinesinde kaynak deposunun tamamının bir kopyası vardır. Developerlar her değişiklik kümesini development makinelerinden commit edebilir ve geçmiş ve karşılaştırma gibi sürüm denetim işlemlerini bir ağ bağlantısı olmadan yapabilir. Branchlar hafif nesnelerdir. Kod tabanınızın farklı çeşitleri arasında pivot olması için bir branchtan diğerine hızla geçebilirsiniz. Daha sonra, branchı merge, publish ya da dispose edebilirsiniz. [2]
     Gelelim bizim seçeceğimiz sisteme. Ben şekil 6'da görüldüğü gibi TFVC seçerek bitiriyorum.
Şekil 6: Source Control Ayarlarını Belirleme
     Artık projemiz work items, build ve source control için hazır hale gelmiştir. Şekil 7'de örnek projemiz görülmektedir.

Şekil 7: Source Control Explorer
     3. Ekip Üyelerinin Projeye Eklenmesi
     İlk adımımızı atarak kendimize bir hesap oluşturduk ve bu hesabı kullanarak ilk projemizi oluşturduk. Ama asıl önemli olan nokta projemize diğer ekip üyelerinin de katılmasını sağlamak. Bunun için ilk olarak şekil 7'de görüldüğü üzere Team Explorer menüsünden Task Board'u açıyoruz.
Daha sonra proje ekranı karşımıza çıkmaktadır.

Şekil 8: Ekip Projesi Ekranı
     Şekil 8'de görüldüğü üzere  ekip projesi ekranının sağ tarafındaki sütunda, Etkinlikler ile Yönetim arasında bulunan Üyeler bölümü sayesinde kolaylıkla  projemize yeni ekip üyeleri ekleyebiliriz. Bir proje oluşturduğumuzda varsayılan olarak projenin bir üyesi olacağımız için bu bölümde ilk kendi adımızı görüyoruz. Yeni ekip üyelerini de projeye dahil etmek için bu bölümde yer alan "Takım üyelerini yönet…" linkini kullanıyoruz. Bu link projemiz için takım üyelerini yönetme penceresini açmaktadır. Buradan hızlıca ekip üyeleri/gruplar ekleyebilir ya da mevcut ekip üyelerinden/gruplardan istediklerimizi çıkartabiliriz. Pencerenin sol üst köşesinden bulunan Ekle menüsü altıda yer alan "Windows kullanıcısı veya grubu ekleyin" ve "TFS grubu ekle" seçenekleri bize kullanıcı ve/veya grup ekleme olanağı sunmaktadır.

Şekil 9: Yeni Kullanıcı Kimliği
     Şekil 9'da görüldüğü üzere, ekip projemize yeni bir kullanıcı eklemek için kullanıcının desteklenen bir kimlik sağlayıcı ve geçerli bir kullanıcı olması gerekmektedir. Bundan emin olmak için Ad Denetle linki ile geçerli olup olmadığını kontrol edebiliriz yada Gözat linki ile tanımlı kullanıcılardan bir ya da bir kaçını seçebiliriz. Kimlik kısmından emin olduktan sonra değişiklikleri kaydet diyerek kullanıcı eklemeyi tamamlayabiliriz.



    Haftaya örnek projemiz üzerinden folder ve branch oluşturmayı anlatacağım. Bir sonraki yazımda buluşmak üzere, okuduğunuz için teşekkürler.





5 Mart 2015 Perşembe

Team Foundation Server Kurulum

     Merhaba arkadaşlar, bu hafta sizlere adım adım Team Foundation Server 2013 kurulumunu anlatacağım. Kuruluma başlamadan önce gereken özelliklerin desteklendiğinden emin olmak için sistem gereksinimlerinden biraz bahsetmem gerekiyor.

     1.İşletim Sistemi Gereksinimleri:
        Server işletim sistemi:
  • Windows Server 2008 R2 SP1 (Standard, Enterprise ya da Datacenter editions)  64-bit versiyon 
  • Windows Small Business Server 2011 SP1 (Standard, Essentials ya da Premium Add-on editions)
  • Windows Server 2012 (Essentials, Standard ya da Datacenter editions) 64-bit versiyon 
  • Windows Server 2012 R2 (Essentials, Standard ya da Datacenter editions) 64-bit RTM versiyon[1]
         Client işletim sistemi:
  • 64-bit ya da 32-bit versiyon Windows 7 SP1 (Home Premium, Professional, Enterprise ya da Ultimate editions)
  • 64-bit ya da 32-bit versiyon Windows 8 (Basic, Pro ya da Enterprise editions)
  • 64-bit ya da 32-bit RTM versiyon Windows 8.1 (Basic, Pro ya da Enterprise editions)[1]
      Team Foundation Server'ı yukarıdaki listede yer alan işletim sistemlerinden birini çalıştıran bir client bilgisayar üzerine yükleyebilirsiniz. Ancak client işletim sistemleri SharePoint ürünleri ile entegrasyonu, raporlamayı veya TFS proxy çalıştırma özelliğini desteklemez. Bu özelliklerin herhangi birini kullanmak isterseniz, Team Foundation Server'ı server işletim sistemine yüklemeniz gerekir.[1]

     2.Donanım Gereksinimleri:
     SharePoint ürünleri olmadan Team Foundation Server yükleyen takımlar için donanım yönergeleri  aşağıdaki tabloda gösterilmektedir.

Kullanıcı Sayısı
Configuration
CPU
Memory
Hard disk
250 kullanıcıdan az
Single-server (TFS ve Database Engine aynı server üzerinde).
2.13 GHz, 1 single core işlemci
2 GB
1 disk, 7.2k rpm (125 GB)
250-500 kullanıcı
Single Server
2.13 GHz, 1 dual core işlemci
4 GB
1 disk, 10k rpm (300 GB)
500-2,200 kullanıcı
Dual-server (TFS ve Database Engine farklı serverlar üzerinde).
Bu satır TFS için.
2.13 GHz, 1 dual core Intel Xeon işlemci
4 GB
1 disk,  7.2k rpm (500 GB)

Bu satır Database Engine için ( 500-2,200 kullanıcı için).
2.33 GHz, 1 quad core Intel Xeon işlemci
8 GB
SAS disk array, 10k rpm (2 TB)
2,200-3,600 kullanıcı
Dual-server.
Bu satır TFS için.
2.13 GHz, 1 quad core Intel Xeon işlemci
8 GB
1 disk, 7.2k rpm (500 GB)

Bu satır Database Engine için (2,200-3,600 kullanıcı için).
2.33 GHz, 2 quad core Intel Xeon işlemci
16 GB
SAS disk array, 10k rpm (3 TB)
                                                                                     Tablo 1: Donanım Gereksinimleri[1]

     3.SQL Server Gereksinimleri:
     Team Foundation Server 2013, SQL Server 2012 Service Pack 1 gerektirir.[2]

     Sistem gereksinimlerinden bahsettik, eğer kullandığınız sistemler yukarıdaki özellikleri destekliyorsa şimdi kurulum aşamasına geçebiliriz. Ben kurulumu  Team Foundation Server 2013 üzerinden anlatacağım, sizde aşağıdaki bağlantıdan deneme sürümünü  temin edebilirsiniz.
      https://www.visualstudio.com/en-us/products/tfs-overview-vs.aspx

     Eğer lisanlı olarak satın almak isterseniz Microsoft Store'dan $499.00'a temiz edebilirsiniz. Satın alabileceğiniz bağlantıyı aşağıda paylaşıyorum.
     http://www.microsoftstore.com/store/msusa/en_US/pdp/Visual-Studio-Team-Foundation-Server-2013/productID.284831500

      TFS'yi indirdikten sonra tfs_server_EN.exe yi açarak kuruluma başlayabiliriz. Aşamaları adım adım resim ekleyerek anlatacağım.

      Şekil 1'de görüldüğü gibi lisans anlaşmasını kabul edip Install Now ile ilerliyoruz.
Şekil 1:Team Foundation Server Setup
     Daha sonra şekil 2'de görülen soldaki wizard seçeneklerinden ihtiyacımıza göre olanı seçebiliriz, ben advanced wizard ile devam ediyorum. Çünkü basic wizard sadece source control, work item tracking ve build servislerini desteklemektedir. Single server yüklemesi yapmak veya Team Foundation Server ile yapılandırma veritabanını farklı sunuculara kurmak gibi gelişmiş özellikleri istersek bunları basic wizard ile yapamayız.
Şekil 2: Team Foundation Server Configuration Center
     Advanced wizard'ı seçtikten sonra karşımıza çıkan şekil 3'teki ekranda SQL Server Instance kısmına kendi SQL Server adınızı yazınız. Bağlantınızın doğruluğunu yandaki Test linkine tıklayarak kontrol edebilirsiniz. TFS database adı Tfs_Configuration olarak belirlenmektedir.
Şekil 3: Advanced Configuration-Database
     Account kısmına gelindiğinde TFS heabınız varsa onu yazabilirsiniz yada sistem hesabı ile ilerleyebilirsiniz. Application Tier kısmı ise şekil 4'te gösterildiği gibi port bölümünde default olarak 8080 gelmektedir ama bu portu halihazırda başka uygulamanız kullanıyor ise değiştirebilirsiniz.
Şekil 4: Advanced Configuration-Application Tier
     Project Collection kısmına geldiğimizde ise şekil 5'te görüldüğü gibi collection yaratmak için istediğiniz adı girerek Review kısmında özet bilgilerinizi görebilirsiniz.
Şekil 5: Advanced Configuration-Project Collection
      Özet bilgilerimizi tekrar kontrol ettikten sonra şekil 6'da görülen Readliness Checks kısmına geliyoruz. Tüm testleri geçtiysek Configure ile bir sonraki aşamaya geçebiliriz.

Şekil 6: Advanced Configuration-Readliness Checks
     Şekil 7'de görüldüğü gibi başarı ile tüm aşamalar gerçekleştikten sonra ilerleyen haftalarda değineceğim web access part'a erişim için kullanacağımız link gösterilmektedir. 
Şekil 7: Advanced Configuration-Complete
     Bu adımdan sonra Advanced Configuration penceresinde kapattığımızda karşımıza şekil 8'teki Administration Console ekranı çıkmalıdır.
Şekil 8: Team Foundation Server Administration Console

     Tüm aşamaları başarı ile gerçekleştirdiyseniz Team Foundation Server 2013 kurulumunu başarı ile yaptınız demektir. Haftaya ekip ve takım projelerine bağlanma konusuna değineceğim.

     Bir sonraki yazımda buluşmak üzere, okuduğunuz için teşekkürler.