Microsoft Visual Studio Team Foundation Server (TFS) | Nasıl Konfigüre Edilir ve Özelleştirilir? |
TFS'in genel özelliklerinden ve yeteneklerinden Microsoft Visual Studio Team Foundation Server (TFS) | Nedir? ve Kimler Kullanabilir? yazımda bahsetmiştim. Bu yazımda MS Team Foundation Server'in kurum ihtiyaçlarına göre nasıl konfigüre edilebileceği ve özelleştirilebileceği hakkında genel bilgiler vermeyi amaçlıyorum. Güçlü bir ALM aracı olmasının yanı sıra, sunmuş olduğu uyarlanabilir, özelleşebilir ve geliştirilebilir mimari altyapı sayesinde TFS; çok farklı ihtiyaç ve beklentilere cevap verebilen bir kurumsal yazılıma dönüşebilmektedir. Üstelik; TFS ile birlikte gelen şablonlar, Microsoft tarafından yayınlanan resmi araçlar ve açık kaynak kodlu olarak geliştirilen pek çok 3rd Party araç sayesinde, ileri seviye bilgisayar veya programlama dili bilgisine gerek kalmadan da bu özelleştirme ve uyarlamaları yapabilirsiniz. Yazımın devamında, aşağıda belirttiğim temel kavram ve araçlar hakkında detaylı bilgilere ulaşabilirsiniz. Temel Kavramlar: Collection, Project, Process Template, Process Configuration, Category, Area, Iteration Path, WorkItem Type, Fields, Workflow (States, Transaction), Form (Layout, Group, Tabs, Column, Control) Temel Araçlar: Microsoft Visual Studio Team Explorer, Microsoft Visual Studio Team Foundation Server Power Tools, TFS witAdmin: Customize and manage objects for tracking work, TFS WitAdminUI 2013/2015, TFS Team Project Manager, Delete TFS Work Items Temel Kavramlar1. Collection: TFS mimari hiyerarişisindeki en üst kademe olduğunu söyleyebiliriz. TFS kurulumu sırasında varsayılan bir Collection kurulumu da yapılır. Bir TFS sunucusuna dilediğiniz kadar Collection oluşturabilirsiniz (bunun için Team Foundation Server Administration Console uygulamasında Application Tier / Team Project Collections menüsüne gitmeniz yeterlidir). TFS sunucusu altında yer alan her bir Collection bağımsız olarak çalışmaktadır, yani her Collection'ın kendine has kullanıcı grupları ve yetkilendirmesi, projeleri (project) ve veri alanları (fields) ile SharePoint web uygulaması lokasyonu (site) olabilmektedir. Aynı TFS sunucusu altında farklı amaçlarla TFS projeleri oluşturmak için Collection ideal bir çözümdür. Gözden kaçmaması gereken nokta ise, farklı Collection'lar altında bulunan projeler arasında veri alışverişi veya ortak sorgu yapmak mümkün değildir. Ama aynı Collection altında yer alan farklı projelerde veri alışverişi ve ortak sorgu yapılabilmektedir.
2. Project: TFS, proje bazlı bir yapıya sahiptir. TFS yeteneklerini kullanabilmeniz için Collection seviyesinde en az bir adet TFS projesine sahip olmanız gerekmektedir. TFS Projesi oluşturma işlemi, Temel Araçlar 1. başlıkta bilgi verdiğim, "Visual Studio Team Explorer" üzerinden yapılabilmektedir. Proje oluşturma sihirbazı, sizden bir "Process Template" seçmenizi isteyecektir. Sihirbaz adımlarını tamamlayarak kolayca TFS Projesi oluşturabilirsiniz. Süreç şablonuna ilişkin detayları ise bir sonraki başlıkta bulabilirsiniz.
3. Process Template: "Süreç Şablonu", TFS konfigürasyon tanım dosyalarının tekrar tekrar kullanılabilmesi adına paket haline getirilmesidir. TFS'in varsayılan olarak gelen 3 adet süreç şablonu bulunmaktadır. Bunlar: Scrum, Agile ve CMMI'dir. Süreç şablonu içinde, "Process Configuration", "Category" ve WorkItem Type" tanımları (XML dosyaları) yer almaktadır. Seçmiş olduğunuz şablona göre farklı bir Pano (Board) yapısına (Kanban, Scrum vb.) ve farklı WorkItem tipi tanımlarına (detaylar için aşağıdaki görseli inceleyebilirsiniz) sahip olursunuz. İhtiyaçlarınıza göre mevcut şablonlarda düzenlemeler yapabilir veya kendi şablonunuzu oluşturabilirsiniz.
4. Process Configuration: "Süreç Konfigürasyonu", proje bazlı olarak Pano (Board) ve Birikmiş İşler (Backlogs) yapı ve görünümü tanımlamak için kullanılan XML bazlı dosyadır. Seçilen süreç şablonuna göre, Pano ve Birikmiş İşler yapısı için farklı seviyeler belirlenmektedir. Aşağıda örnek olarak Agile süreç şablonun seviye yapısı görüntülenmektedir. Diğer örnekler ve konunun detayları için Visual Studio resmi sayfasına ulaşabilirsiniz. Aşağıdaki görselde yer alan Agile şablonu örneği üzerinden gidersek, süreç konfigürasyon dosyamızda Portfolio, Requirement, Task, Bug, Feedback Request ve Response seviyeleri için tanımlar bulunmaktadır. Her bir seviyenin ilgili TFS projesinde hangi WorkItem tipi kategorisine karşılık geldiğini, hangi durumda (state) bulunan kayıtların pano ve birikmiş işler sayfalarında, hangi alanları (fields) ile yer alacağı bu tanımlarda belirlenmiştir. Ayrıca, ilgili proje özelinde haftanın çalışma günleri ve çalışma saatleri ile WorkItem tiplerinin hangi renk ile gösterileceği gibi detaylar da yine süreç konfigürasyon dosyasında tanımlanmaktadır.
5. Categories: "Kategoriler" dosyası, WorkItem tiplerini gruplamak için kullanılan bir tanım dosyasıdır. Tanımlanan her bir kategori için bir adet varsayılan workitem tipi belirlenmelidir. İhtiyaca göre bir veya birden fazla ilave workitem tipi de kategoriye eklenebilir. Kategori tanımları bir önceki başlıkta açıklanan "Süreç Konfigürasyonu" dosyalarında ya da aşağıdaki örnekte gördüğünüz üzere TFS sorgularında kullanılabilir.
6. Area ve Iteration Path: "Alan" ve "İterasyon Yolu" tanımları, TFS proje yönetici paneli sayfasında, proje bazlı olarak yapılmaktadır. Alan tanımı ile, TFS projesi altında farklı çalışma alanları yaratabilir, her bir çalışma alanı için farklı çalışma ekipleri ve yetki seviyeleri tanımlayabilirsiniz. Her bir çalışma alanının kendine özgü bir Giriş Sayfası (Home) olması sayesinde, farklı TFS sorgularını ve grafik raporlarını giriş sayfasına sabitleyebilirsiniz. İterasyon yolu tanımı ile, TFS projeniz için farklı periyotlarda (örneğin, haftalık, 2 haftalık, aylık, 3 aylık, yıllık vb.) veya spesifik tarihler için (proje aşamaları vb.) dönem tanımları yapabilir ve kayıtlarınızı bu dönemlere göre gruplayabilirsiniz.
7. WorkItem Type: "WorkItem Tipi", TFS'e veri girişi yapmamıza imkan sağlayacak XML bazlı tanım dosyalarıdır. TFS projesi oluştururken seçmiş olduğunuz "Süreç Şablonu"nda tanımlı olan WorkItem tipleri, projenize otomatik olarak eklenecektir. TFS projenizde ekli olan bir WorkItem tip tanım dokümanını güncelleyebilir, veya farklı kaydederek yeni bir WorkItem tipi olarak projenize ekleyebilirsiniz. WorkItem tipi tanım dokümanı 3 ana bölümden oluşmaktadır: 7.1 Fields: WorkItem tipini kullanarak oluşturacağımız kayıtlardaki her bir veri alanıdır. Görünen İsim (Name), Referans İsmi (Reference Name) ve Veri Alanı Tipi (Field Type: Metin, Numerik, Tarih vb.) bilgiler ile tanım yapılabilir. TFS'te veri alanları, "Collection" seviyesinde tanımlanmaktadır. Dolayısıyla, farklı projelerde ve/veya farklı WorkItem tiplerinde kullanılacak bile olsa, aynı amaçla kullanılacak alanlar için ortak veri alanı yaratılması faydalı olacaktır. TFS'te görünen ve/veya referans ismi aynı olan birden fazla veri alanı bulunamaz. Veri alanı tanımı sırasında farklı kurallar (Rule) da tanımlanabilir: Açılır menü listesi kuralları (Pick list rules), Değer atama kuralları (assign value rules) ve Şarta bağlı kurallar (Conditional rules). 7.2 Workflow (States, Transaction): WorkItem tipini kullanarak oluşturacağımız kayıtların iş akışını ifade etmektedir. İlgili kaydın bulunabileceği durumlar (States) ve bu durumlar arasındaki geçişlere ilişkin kurallar (Transaction) iş akışı tanımını oluşturur. 7.3 Form (Group, Column, Tabs, Control): WorkItem tipini kullanarak oluşturacağımız kayıtların kullanıcı arayüzü tasarımını ifade eder. Kullanıcı arayüzü tasarım yeteneklerini sınırlı da olsa, temel kabiliyetlere sahiptir:
ÖZET Bu temel bilgiler ışığında, TFS mimarisinin Site, Collection, Project, Template ve WorkItem olmak üzere 5 seviyeden oluştuğu söylenebilir. Temel Araçlar1. Microsoft Visual Studio Team Explorer
Team Explorer, Microsoft Visual Studio için geliştirilmiş bir eklentidir. Visual Studio 2013 için kurulum dosyaları mevcuttur ve istenirse Visual Studio 2013 olmadan da kurulabilmektedir. Visual Studio 2015 ile gömülü olarak geldiği için ayrıca kurulamamaktadır. Bu nedenle en az ücretsiz olarak sunulan Community versiyonuna sahip olmanız gerekmektedir. Team Explorer, özellikle Visual Studio kullanarak uygulama geliştiren ekiplerin, Visual Studio arayüzünden ayrılmadan TFS özelliklerini kullanabilmesi açısından çok faydalıdır. Bunun dışında, yeni TFS projesi oluşturmak için Visual Studio Team Explorer'e ihtiyaç duyulmaktadır. Ayrıca, Visual Studio 2013 Team Explorer veya Visual Studio 2015 kurulumu yaptığınızda, Microsoft Excel arayüzüne de Team Explorer sekmesinin geldiğini görebilirsiniz. Bu araç sayesinde, MS Excel kullanarak TFS'e bağlanmak, veri çekmek veya yeni veri oluşturmak da mümkün olmaktadır. Microsoft Visual Studio 2013 Team Explorer eklentisi kurulum dosyası; Microsoft Visual Studio 2015 Community (Ücretsiz) indirme adresi; 2. Microsoft Visual Studio Team Foundation Server Power ToolsTFS sistem yöneticileri için olmazsa olmaz diğer bir Visual Studio eklentisi ise, TFS Power Tools'tur. Kurulum sonrasında, Visual Studio Tools menüsüne "Process Editor" opsiyonu eklenmektedir ve 4 önemli özelliğe sahiptir:
Microsoft Visual Studio Power Tools (Process Editor) eklentisi kurulum dosyaları; 3. TFS witAdmin: Customize and manage objects for tracking workTFS sistem yöneticilerinin mutlaka kullanması gereken bir diğer araç ise, Microsoft Visual Studio kurulumu ile birlikte gelen WITADMIN konsol uygulamasıdır ve varsayılan olarak "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE" adresinde bulunmaktadır. WITADMIN konsol uygulamasını kullanırken "YARDIM" özelliği size kolaylık sağlayacaktır. Konsol ekranında "witadmin help [command]" formatını kullanarak, kullanımını öğrenmek istediğiniz komutun detaylarını öğrenebilirsiniz. Örneğin, "witadmin help renamewitd" yazdığımızda konsol ekranı bize aşağıdaki gibi detaylı bir kullanım talimatı sunacaktır.
Renames an existing work item type. Changes the display name of a work item type within a specific project. Also, the work items of that type are updated to reflect the new work item type name. TFS WITADMIN ile kullanabileceğiniz diğer komutlara ve kullanım rehberine aşağıdan ulaşabilirsiniz.
changefield 4. TFS WitAdminUI 2013/2015DOS 3.1 dönemlerini hatırlamayan nesildenseniz, windows konsol ekranı ile mücade etmek size göre olmayabilir :) Bu durumda açık kaynak kodlu olarak geliştirilen TFS WITADMINUI tam size göre diyebilirim. Arkaplanda TFS WITADMIN konsol uygulamasını kullanmayan devam eden TFS WITADMINUI, tüm WITADMIN komutlarını size kolay kullanılabilir bir kullanıcı arayüzü ile sunuyor. Collection ve Project seviyesindeki onlarca komut ile TFS'i konfigüre etmek ve uyarlamak çok daha kolay bir hale geliyor. TFS WitAdminUI 2013/2015 Kurulum dosyaları ve kullanım rehberi; 5. TFS Team Project ManagerTFS sistem yöneticilerinin baş uçu uygulamalarından biri olacak diğer bir uygulama ise: TFS Team Project Manager. TFS Team Project Manager, TFS API'leri kullanılarak açık kaynak kodlu olarak geliştirilen bir Windows masaüstü uygulaması ve özellikle TFS'i ALM aracı olarak kullanan uygulama geliştiricileri için "build definitions", "build process templates" ve "manage source control" gibi güçlü özelliklere sahip. Bunun dışında, yazının ilk bölümünde detaylandırılan konularda aşağıdaki yeteneklere de sahiptir:
TFS Team Project Manager Kurulum dosyaları; TFS Team Project Manager Kullanım rehberi; http://teamprojectmanager.codeplex.com/documentation 6. Delete TFS Work ItemsSon olarak doğrudan Team Foundation Server özelleştirilmesi ve uyarlanması ile ilgisi olmasa da, TFS sistem yöneticileri için çok faydalı olacağını düşündüğüm ve sıklıkla kullandığım bir aracı da sizinle paylaşmak istiyorum. Sistem veri bütünlüğü açısından TFS son kullanıcılarına WorkItem silme yetkisi verilmemesi genellikle tercih edilen bir yaklaşım. Son kullanıcılar, silinmesi gereken kayıtlara "SİL" etiketi ekleyebilir veya bu kayıtları "Silinecek Kayıtlar" adında bir "Area" altına taşıyabilirler. Bu durumda TFS'te biriken silinmesi gerekli kayıtlar için TFS sistem yöneticilerinin periyodik kontroller yapması ve silme işlemi gerçekleştirmesi gerekmektedir. Açık kaynak kodlu olarak geliştirilen ve TFS API'lerini kullanan "Delete TFS Work Items" masaüstü uygulaması, tam bu durumlar için geliştirilmiş basit bir uygulama. TFS sistemine giriş yaptıktan sonra, giriş yapılan projedeki tüm sorguları ekrana getiriyor, seçilen sorgudaki kayıtları ekrana döküyor ve listeden seçilen kayıtları kolayca silebiliyor. Delete TFS Work Items uygulaması kurulum dosyaları; Delete TFS Work Items uygulaması kullanım rehberi; https://tfsdeleteworkitems.codeplex.com/
Bu yazımda, Microsoft Visual Studio Team Foundation Server (TFS) ile ilgili temel kavramları açıklayarak "TFS Nasıl Konfigüre Edilir ve Özelleştirilir?" konusuna giriş yapmayı ve TFS konfigürasyonu ve özelleştirilmesi için kullanılabilecek popüler araçlardan bahsettim. Sonraki yazımda ise, TFS konfigürasyon ve tanım dosyalarının detaylarını incelemeyi ve örnekler üzerinden "TFS Nasıl Konfigüre Edilir ve Özelleştirilir?" konusunda uygulamalar gerçekleştirmeyi planlıyorum.
Ayrıca, bu konuda hazırladığım sunuma SlideShare üzerinden ulaşabilirsiniz.
Etiketler:
|
|
Son Güncelleme: Cumartesi, 08 Ekim 2016 18:35 |
ONERA olarak; PDM, PLM, ALM, QLM, SLM ve AR başta olmak üzere dijital çağa yön veren çözümler ile "eş zamanlı mühendislik" ve "tek-gerçek bilgi kaynağı" yaklaşımlarının sunduğu avantajları kullanarak, iş ortaklarımıza kurumsal hedeflerini destekleyen çözümler sunmayı ve onlara değer katmayı hedefliyoruz.
Hedeflerinize ulaşabilmeniz için size sunabileceğimiz çözümleri ve faydaları aktarmaktan memnuniyet duyacağız. Bize ulaşmak için tıklayın.
Haberler Arşivi |
Makaleler Arşivi |
Articles Archieve |
Projeler Arşivi |
Kurumsal Yazılımlar Arşivi |
Kariyer Merkezi Arşivi |
PLM Eğitimi ™ |