Azure DevOps Server
![]() | В момента тази статия или раздел е в процес на изграждане или съществено преработване. Моля, не я редактирайте, докато този шаблон не бъде премахнат. Вижте историята на статията, ако искате да видите кой е поставил този шаблон, за да се свържете с него. Този шаблон се поставя в страници или раздели, върху които интензивно се работи от страна на един редактор, единствено с цел да се предотвратят евентуални конфликти на редакции с други уикипедианци. Той би трябвало да се използва рядко и за колкото се може по-кратко време. Ако прецените, че е изминало много време, през което няма промени по статията или раздела, за която се отнася, моля, премахнете шаблона. |
Team Foundation Server (често съкращаван, като TFS) е продукт на Майкрософт, предлагащ система за контрол над изходния код и неговите версии, събиране на информация, отчитане на свършена работа и следене на процеса на развитие на проект. Предназначен е за съвместна работа по разработка на софтуерни продукти и е достъпен, както като самостоятелен софтуер, така и като сървърна платформа към Visual Studio Application Lifecycle Management.
Предназначение
Има две основни предназначения на TFS.
- Работа по разработката вътре в екипа: предоставя съвкупност от функции, които могат да се използват от различните членове, като им дава възможност да работят заедно с по-голяма ефективност.
- Връзка с клиентите: клиентите и партньорите могат да персонализират елементите на TFS, както и да го разширяват с нови функционалности. Разширенията могат да варират в голям обхват, като например от промяна на поле в даден работен елемент, до вграждане на изцяло нов инструмент.
Основни компоненти
Основните компоненти, свързани с груповата работа по разработката на проекта в TFS, са следните:
- * Контрол на версиите (Version control)– за управление на сорс кода и подобни работни продукти, които изискват поддръжка на история за различни версии;
- * История на работни елементи (Work item tracking) – за пазене на история на елементи от работния процес, като дефекти, изисквания, задачи и сценарии;
- * Функции за управление на проекти (Project management functions) – позволяват изготвянето на групов проект, базиран на дефинирано от потребителя софтуерно поведение. Също така те дават възможност да се планира и следи развитието чрез Microsoft Excel и Microsoft Project;
- * Изграждане на работа в екип (Team build) – за създаване на общ екипен процес по изготвяне на работещ продукт;
- * Събиране на информация и отчет ( Data collection and reporting ) – подпомага оценката на състоянието на груповия проект, базирана на информацията събрана от TFS инструментите;
- * Портал на груповия проект (Team Project Portal) – предоставя централна точка за комуникация между екипа в рамките на Microsoft Windows SharePoint Services сайт;
- * Team Foundation Shared Services – предоставят голям брой от елементи на вътрешната структура, които са невидими за крайните потребители, но важни за разработчиците на инструменти и разширения;
Архитектура
Архитектурата на TFS е трислойна, като съдържа потребителски слой(client tier), слой за приложения (application tier) и информационен слой(data tier). Потребителският слой служи за създаване и ръководене на проекти и достъпване до елементи, които са нужни за проекта и трябва да се съхраняват. TFS не съдържа конкретен потребителски интерфейс за този си слой, като предоставя уеб услуги, които могат да се използват от приложенията, за да интегрират функционалностите на TFS заедно със себе си. Тези услуги се използват и от Visual Studio Team System,която използва TFS, като слой за съхранение на информацията или пък други такива предназначени за управление на приложения като Team Foundation Client. Уеб услугите се намират в слоя за приложения. Той също включва уеб портал и хранилище за документите, поддържано от Windows SharePoint Services. Този портал, наречен Team Project Portal, играе роля на централна точка за обмен на информация относно проектите ръководени от TFS. Хранилището се използва както за елементи на проекта и промените извършени по него, така и цялата съвкупност от информация и генерирани отчети. Информационният слой, който в основата си съдържа инсталация на SQL Server 2005 Standard Edition, дава възможност за използване на устойчиви услуги за съхранение на данни в хранилището. Информационният слой и този за приложенията могат да съществуват на различни физически, както и виртуални сървъри, стига те да работят на Windows Server 2003 или по-нови версии. Клиентският слой единствено използва този за приложенията, като не може да достъпва и вижда информационния.
Разработка на проекти в TFS
По-голямата част от работата в TFS се извършва около „работен елемент“. Това е релативна „единица“ от работата, която трябва да се изпълни. В много аспекти тя прилича на софтуерен проблем (бъг) в системите за следене на грешки и проблеми, например Bugzillа. Съдържа информация за обсег на единицата, повторение, което се очаква от нея, кой я е поставил като задача, кой се е отчел че ще я свърши или че я е дефинирал като такава, история, файлови допълнения към нея и т.н. Работните елемети от своя страна могат да бъдат много видове, като основните са Проблеми (бъгове), Задачи, Оценка на качеството на услугата и Планове за работа. Платформата избрана за работа върху даден проект в TFS дефинира какъв тип работни елементи трябва да са в наличност и какви допълнения трябва да съдържа всяка „работна единица“. Тези данни са вътрешно съхранявани в XML формат, и техният план може да се персонализира, така че да се добавят нови допълнения към различните елементи или да се създадат нови такива вътре в проекта. Всяка работна единица е свързана с контрол върху достъпа, като се указва изрично кой има достъп и може да променя различните части. Също така тя включва информация и история за всички промени, като създаване на нови елементи, промени на разрешенията за достъп, промени по проекта и предоставяне на възможност за уведомяване на определени потребители при настъпване на предварително дефинирани събития. Всеки TF сървър може да съдържа един или повече групови проекти, които съдържат съответно: съвкупности от Visual Studio проекти, конфигурационни файлове и хранилище, съдържащо документи отнасящи се към съответния проект. Този проект съдържа предварително дефинирани работни единици, клонове по разработката и съобщения, които трябва да се обработят от TFS. При създаването на нов проект, се избира разработваща платформа, като тя не може да бъде променяна след това. Състоянието на опеределени елементи на проекта могат да бъдат настроени автоматично да се обновяват при промяна на работните единици. TFS може да работи заедно с Microsoft Excel за създаване и следене на процеса на разработка на проектните единици. Състоянието на елементите може да се дефинира в Excel, като резултатния документ може да се качи на TFS, което ще предизвика добавяне на информацията към функционалностите му насочени към проектния мениджмънт. Освен с Microsoft Excel, TFS може да се интегрира и с Microsoft Project в помощ на ръководителя на проекта (мениджъра проект) по фронт енда. Елементите на проекта също могат и да се изведат като Excel документи за по-нататъшен анализ на информацията. TFS не предоставя вграден потребителски интерфейс за извършване на тези задачи. Тези възможности се предоставят чрез уеб услуги, които се използват от клиентски приложения като интегрираната среда за разработка Visual Studio Team System. Въпреки това, TFS съдържа приложението Team Foundation Client (TFC), което може да се използва за извършване на тези дейности извън Visual Studio Team System. TFS предотавя и потребителски приложно-програмен интерфейс, който може да бъде използван от външни приложения, които да достъпват функционалностите на TFS. Този интерфейс сам конфигурира прокситата, за да комуникира с уеб услугите, както и сам изготвя кеширането в потребителската част, като по този начин намаля забавянето. Достъпни са също и описания на уеб услугите в WSDL вид, в случай че приложението иска директно да се свърже с уеб услугите. Visual Studio Team System Web Access е също в наличност като допълнение към софтуера, като може да се използва за с напълно аналогични цели.