Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System.Microsoft SQL Server™ Reporting Services.В этой статье подробно разбирается процесс введения нового разработчика в командный проект Team Foundation Server.
SQL Server Reporting Services.Read и Contributor на сайте SharePoint.Вводя в проект нового разработчика, необходимо предоставить ему соответствующие права доступа к проекту и сайту SharePoint проекта. Учетная запись нового разработчика должна также иметь права доступа к SQL Server Reporting Services, чтобы разработчик мог просматривать отчеты, представленные на портале проекта.
SQL Reporting Server Services.На этом шаге новому члену команды предоставляется доступ к Team Foundation Server. Чтобы открыть ему доступ к командному проекту, выполните следующие действия:
Visual Studio под учетной записью, входящей в группу Team Foundation Administrators.Team Explorer (если его там еще нет).Team Explorer щелкните правой кнопкой мыши командный проект, выберите Team Project Settings и щелкните Group Membership.Project\Contributors, щелкните Properties и добавьте учетную запись нового разработчика в эту группу.Обратите внимание, что членство в группе Contributors обеспечивает типовой набор разрешений, необходимых разработчику, включая возможность добавлять, изменять, удалять элементы командного проекта и выполнять сборки.
На этом шаге новый член группы получает доступ к сайту проекта SharePoint. Выполните следующие действия:
Войдите на сайт проекта под учетной записью, входящей в группу SharePoint Administrator.
Помните, что сайт проекта YourProject по умолчанию располагается по адресу http://server/sites/YourProject/default.aspx.
Site Settings.Manage Users под надписью Administration.Add Users.Contributor и щелкните Next.Finish.Членство в группе Contributors обеспечивает разработчику возможность просматривать и добавлять содержимое в существующие библиотеки документов и списки. Членство в группе Reader обеспечивает доступ к сайту только для чтения. Иногда этого вполне достаточно, все зависит от потребностей нового разработчика.
На этом шаге новому члену команды предоставляется доступ к SQL Report Services. Выполните следующие действия:
Properties.Security.New Role Assignment.Windows -имя разработчика, выберите Browser и щелкните OK. Членство в группе Browser позволяет разработчику просматривать и подписываться на отчеты.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System.В этой статье подробно разбирается процесс настройки сценария сборки и включения в него этапа анализа кода. Это обеспечит автоматическое выполнение анализа кода в составе сценария сборки проекта и включение отчета о результатах анализа в результаты сборки.
Visual Studio Team System Team Build позволяет определять для проекта типы сборки, благодаря которым сервер способен компилировать приложение и предоставлять его для доступа на общем сетевом ресурсе. Если в сценарий сборки включен анализ кода, он будет автоматически выполняться при каждой сборке, а отчет о его результатах будет выкладываться на странице отчетов о результатах сборки. В этой статье подробно разбирается процесс настройки сценария сборки и включения в него этапа анализа кода.
Прежде чем включить анализ кода в сценарий сборки, необходимо убедиться в следующем:
Team Foundation обладает разрешением на администрирование сборки. Уточните у администратора, обладаете ли вы таким разрешением.Team Build в Visual Studio Team Explorer.Перед включением анализа кода протестируйте сценарий сборки, чтобы убедиться в отсутствии проблем. Это делается следующим образом:
Visual Studio откройте Team Explorer.Team Builds.Build Team Project.Убедившись, что сборка выполняется правильно, можно включить в нее анализ кода. Выполните следующие действия:
Source Control Explorer.TeamBuildTypes.TFSBuild.proj из системы управления исходным кодом для редактирования. Возможно, сначала вам понадобиться выполнить операцию Get Latest Version.TFSBuild.Proj, дважды щелкнув его в Source Control Explorer.<RunCodeAnalysis> значение Always.<RunCodeAnalysis> значение Default.Visual Studio.Solution Explorer щелкните проект правой кнопкой мыши.Properties.Code Analysis .Enable Code Analysis .Save на панели инструментов при открытом окне свойств..csproj в систему управления исходным кодом.TFSBuild.proj и верните его в систему управления исходным кодом.Включив анализ кода в сценарий сборки, протестируйте его, чтобы убедиться, что все работает нормально. Выполните следующие действия:
Team Explorer щелкните правой кнопкой мыши тип сборки и выберите команду Build Team Project."CA" , как в следующих примерах:MSBUILD : warning : CA2209 : Microsoft.Usage : No valid permission requests were found for assembly 'HelloWorldTest'. Yo u should always specify the minimum security permissions using SecurityAction. RequestMinimum.MSBUILD : warning : CA2210 : Microsoft.Design : Sign 'HelloWorldTest' with a strong name key.MSBUILD : warning : CA1014 : Microsoft.Design : 'HelloWorldTest' should be marked with CLSCompliantAttribute and its value should be true.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System.Microsoft SQL Server™ Reporting Services.В статье подробно разбирается процесс создания нового отчета с последующей публикацией на портале отчетов команды.
Team Foundation Server.Visual Studio.Отчеты, поставляемые с VSTS, основаны на использовании SQL Server Reporting Services. С помощью конструктора отчетов Visual Studio (Business Intelligence Development Studio) из комплекта клиентских инструментов SQL Server 2005 можно редактировать готовые отчеты или создавать собственные. Создание собственного отчета в Visual Studio начинается с создания проекта отчетов. Затем создаются источники данных для подключения к реляционной базе данных TFS и базе данных Online Analytical Processing (OLAP) .
Team Foundation Server.Прежде чем приступать к настройке отчета для Team Foundation Server, убедитесь в следующем:
Business Intelligence Development Studio. Чтобы проверить ее наличие, при создании нового проекта посмотрите, имеется ли в Visual Studio тип Business Intelligence Project.Microsoft Analysis Server TfsWarehouseDataReaders на сервере уровня данных.TFSWarehouse уровня данных.Publisher в SQL Server Reporting Services на сервере уровня приложений.Чтобы добавить в проект новый отчет и настроить его, начните с создания проекта отчетов. Выполните следующие действия:
Visual Studio откройте меню File, выберите команду New и щелкните Project.Business Intelligence Project.Report Server Project.OK.Чтобы редактировать и публиковать настроенный отчет, необходимо добавить источники данных для хранилища данных Team Foundation Server и OLAP -куб. После добавления этих источников данных в проект Visual Studio, отчет может закачивать данные с сервера.
Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.General введите TfsReportDS в текстовое поле Name.Type выберите Microsoft SQL Server.Edit.TFSWarehouse.ОК, чтобы добавить источник данных.Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.General введите TfsOlapReportDS в поле Name.Type выберите Microsoft SQL Server Analysis Services.Edit.TFSWarehouse.ОК, чтобы добавить источник данных.Когда в проект добавлены источники данных, можно создавать новый отчет. Выполните следующие действия:
Solution Explorer щелкните правой кнопкой Reports и выберите Add и New Item.Report.OK.Добавив отчет в проект, отредактируйте его:
Report Designer не открывается автоматически, откройте отчет для редактирования, щелкнув его дважды в Solution Explorer.Dataset вариант New Dataset.TestDataSet.TFSOlapReportDS (shared) .OK.Build (под раскрывающимся списком Dataset ) и выберите Team System.Теперь можно редактировать отчет, перетаскивая меры и измерения из дерева Dataset на панели Query Pane и Filter Pane. Компоновка отчета меняется на вкладке Layout. Увидеть, как будет выглядеть отчет, можно на вкладке Preview.
После редактирования отчета его можно развернуть на портале отчетов командного проекта:
Solution Explorer щелкните правой кнопкой проект отчетов и выберите Properties.OverwriteDataSources присвоено значение false.TargetDataSourceFolder согласно имени своего командного проекта, например: TargetDataSourceFolder = TestProjectTargetReportFolder согласно имени своего командного проекта, например: TargetReportFolder = TestProjectTargetServerURL значение http://<имя сервера уровня данных>/reportserver, например: TargetServerURL = http://tfsrtm/reportserverOK.Solution Explorer щелкните правой кнопкой файл .rdl и выберите Deploy.Output Pane, чтобы убедиться в успешности операции.Опубликовав отчет на сервере отчетов своего командного проекта, протестируйте его, чтобы убедиться в успешности развертывания:
Team Explorer разверните узел своего командного проекта, щелкните правой кнопкой Reports и выберите команду Show Report Site.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .Microsoft SQL Server™ Reporting Services.В этой статье подробно разбирается процесс создания нового отчета, представляющего динамику развития рисков, и его публикации на портале отчетов группы в TFS.
Team Foundation Server.Visual Studio.Отчеты, поставляемые с VSTS, основаны на использовании SQL Server Reporting Services. С помощью конструктора отчетов Visual Studio (Business Intelligence Development Studio) из комплекта клиентских инструментов SQL Server 2005 можно редактировать готовые отчеты или создавать собственные. Создание собственного отчета в Visual Studio начинается с создания проекта отчетов. Затем создаются источники данных для подключения к реляционной базе данных TFS и базе данных Online Analytical Processing (OLAP) . В этой статье рассказано, как создать с нуля простой отчет о динамике рисков ( Risk over Time ), который показывает количество рабочих элементов Risk за данный период времени.
Team Foundation Server.Прежде чем приступать к настройке отчета для Team Foundation Server, убедитесь в следующем:
Business Intelligence Development Studio. Чтобы проверить ее наличие, при создании нового проекта посмотрите, имеется ли в Visual Studio тип Business Intelligence Project.Microsoft Analysis Server TfsWarehouseDataReaders на сервере уровня данных.TFSWarehouse уровня данных.Publisher в SQL Server Reporting Services на сервере уровня приложений.Risk, иначе в отчете нечего будет показывать.На данном начальном этапе создается новый проект создания отчетов, благодаря которому вы получаете возможность добавлять новый отчет в проект и затем настраивать его. Чтобы создать новый проект создания отчетов в Visual Studio:
File выберите New и затем щелкните Project.Business Intelligence Project.Report Server Project.Name и Location для проекта и щелкните OK.Чтобы редактировать и публиковать настроенный отчет, необходимо добавить источники данных для хранилища данных Team Foundation Server и OLAP -куб. После добавления этих источников данных в проект Visual Studio, отчет может закачивать данные с сервера.
Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.General введите TfsReportDS в текстовое поле Name.Type выберите Microsoft SQL Server.Edit.TFSWarehouse.ОК, чтобы добавить источник данных.Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.General введите TfsOlapReportDS в поле Name.Type выберите Microsoft SQL Server Analysis Services.Edit.TFSWarehouse.ОК, чтобы добавить источник данных.Когда в проект добавлены источники данных, можно создавать новый отчет. Выполните следующие действия:
Solution Explorer щелкните правой кнопкой Reports и выберите Add и New Item.Report.OK.Когда отчет добавлен в проект, его можно редактировать:
Report Designer не открывается автоматически, откройте отчет для редактирования, щелкнув его дважды в Solution Explorer.Dataset вариант New Dataset.TestDataSet.TFSOlapReportDS (shared) и щелкните OK.Build (под раскрывающимся списком Dataset ) и выберите Team System.Dataset Tree разверните узел Measures.Dataset Tree разверните узел Current Work Item.Current Work Item Count в главное окно запроса.Dataset Tree сверните узел Measures.Team Project и перетащите его в панель Dimensions Grid.Dimensions Grid щелкните ячейку Filter Expression и выберите имя вашего командного проекта. После этого в отчет будут включаться только данные, касающиеся этого проекта.Work Item в дереве Dataset Tree.WorkItem.WorkItemType из дерева Dataset Tree в панель Dimensions Grid. Если вместо WorkItem.WorkItemType отображается System_WorkItemType, это означает, что отчет все равно сработает, но вам необходимо установить SQL Server Service Pack 2.WorkItem.WorkItemType из дерева Dataset Tree в главное окно запроса и разместите перед столбцом work item count. Если вместо WorkItem.WorkItemType отображается System_WorkItemType, это означает, что отчет все равно сработает, но вам необходимо установить SQL Server Service Pack 2.Dimensions Grid щелкните ячейку Filter Expression и выберите тип Risk. Это обеспечит включение в отчет только рабочих элементов Risk.Dataset Tree разверните измерение Date.Date в главное окно запроса. Разместите его перед столбом work item type.Layout.Toolbox.Chart из Toolbox на сетку.Chart Type, Line и Smooth Line.Datasets Pane.TestDataSet.Data, Series и Category.Current_Work_Item_Count в поле Drop Data Fields Here.Work_Item_Type в поле Drop Series Fields Here.Date в поле Drop Category Fields Here.Properties.OK.Preview, чтобы посмотреть, как будет выглядеть отчет.После редактирования отчета Risk over Time его можно развернуть на портале отчетов командного проекта:
Solution Explorer щелкните правой кнопкой проект отчетов и выберите Properties.OverwriteDataSources присвоено значение false.TargetDataSourceFolder согласно имени своего командного проекта, например: TargetDataSourceFolder = TestProjectTargetReportFolder согласно имени своего командного проекта, например: TargetReportFolder = TestProjectTargetServerURL значение http://<имя сервера уровня данных>/reportserver, например: TargetServerURL = http://tfsrtm/reportserverOK.Solution Explorer щелкните правой кнопкой файл .rdl и выберите Deploy.Output Pane, чтобы убедиться в успешности операции.Опубликовав отчет на сервере отчетов своего командного проекта, протестируйте его, чтобы убедиться в успешности развертывания:
Reports и выберите команду Show Report Site.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System.В этой статье подробно разбирается процесс создания, регистрации и применения пользовательских политик возврата правок в TFS. Политика обеспечивает выполнение определенных правил при каждом возврате изменений в систему управления исходным кодом. Благодаря этому исходный код гарантированно будет соответствовать заданному набору критериев. В качестве примера в этой статье используется политика, обеспечивающая ввод комментариев ко всем возвратам изменений. Для реализации пользовательской политики возврата изменений создается класс, производный от РoliсуВa8е, и реализуются интерфейсы 1РoliсуВеАnition и 1РoliсуЕ valuation. Сборка политики регистрируется в реестре Microsoft Windows® и применяется к командному проекту.
Windows.Политики возврата после правки ( check-in policies ) обеспечивают реализацию ограничений при возврате файлов в систему управления исходным кодом. В Team Foundation Server включено несколько стандартных политик, в том числе, политики для проверки выполнения и успешного прохождения модульных тестов, политики для выполнения статического анализа кода, гарантирующие соответствие кода стандартам и рекомендациям написания .NET -кода, и политики, обеспечивающие связывание рабочих элементов с возвратами правок. Еще несколько политик возврата после правки включено в комплект Microsoft Visual Studio 2005 Team Foundation Power Tool. В этой статье рассказывается, как создавать, регистрировать и применять нестандартную политику. В качестве примера приводится политика, вынуждающая разработчиков сопровождать возвращаемые изменения комментариями.
Чтобы вы могли создавать политику возврата после правки, разрешение Manipulate у вас должно иметь значение Allow.
Windows.На начальном этапе в пространстве имен Microsoft.TeamFoundation.Version-Control.Client путем наследования от базового класса PolicyBase создается класс пользовательской политики. Наследование обеспечивает реализацию создаваемым классом интерфейсов IPolicyDefinition и IPolicyEvaluation. Ниже приведен пример фрагмента кода политики, которая требует обязательного ввода комментариев при каждом возврате правок.
Visual Studio создайте новый проект библиотеки классов Visual C#®.System.Windows.Forms.dll. Эта сборка используется для отображения информационных окон.Microsoft.TeamFoundation.Version Control.Client.dll. По умолчанию он находится в папке \Program Files\ Visual Studio 2005 Team Foundation Server\Tools.PolicyBase и помечен как using System;
using System.Windows.Forms;
using Microsoft.TeamFoundation.VersionControl.Client;
[Serializable]
public class CheckForCommentsPolicy : PolicyBase
{
public override string Description
{
get { return "Напоминает пользователям, что они должны сопровождать возврат изменений содержательными комментариями";
}
// Эта строка хранится с описанием политики на сервере системы управления исходным кодом.
// Если у пользователя не установлена надстройка политики, отображается эта
// строка. С ее помощью вы объясняете пользователю, как установить
// надстройку политики.
public override string InstallationInstructions
{
get { return "Инструкции по установке этой политики см. в InstallInstructions.txt."; }
}
// Эта строка определяет тип политики. Она отображается в списке политик, когда вы
// добавляете новую политику в Team Project.
public override string Type
{
get { return "Политика для проверки наличия комментариев к возврату изменений"; } }
// Эта строка является описанием типа политики. Она отображается, когда вы
// выбираете политику в диалоговом окне Add Check-in Policy.
public override string TypeDescription
{
get { return "Эта политика подскажет пользователю, на каких условиях ему будет разрешено возвратить изменения."; }
}
// Этот метод вызывается инфраструктурой написания политик при создании
// новой политики возврата изменений или редактировании существующей.
// Он может использоваться для отображения интерфейса для данного типа политики,
// позволяя пользователю менять параметры политики. public override bool Edit(IPolicyEditArgs args) {
// Не требует специальной конфигурации
return true; }
// Этот метод является фактической реализацией политики. Он вызывается
// инфраструктурой создания политик, когда требуется применить политику.
// В приведеннм примере метод вызывается при возникновении различных асинхронных
// событий, которые могли привести к недействительности текущего списка
// нарушений политики.
public override PolicyFailure[] Evaluate()
{
string proposedComment = PendingCheckin.PendingChanges.Comment;
if (String.IsNullOrEmpty(proposedComment))
{
return new PolicyFailure[] {
new PolicyFailure("Пожалуйста, сопроводите возвращаемые изменения комментариями", this) }; }
else {
return new PolicyFailure[0]; } }
// Этот метод вызывается двойным щелчком нарушения политики в интерфейсе.
// В данном случае на экран выводится сообщение, предлагающее пользователю
// ввести комментарий.
public override void Activate(PolicyFailure failure)
{
MessageBox.Show("Пожалуйста, сопроводите возвращаемые изменения комментариями.", "Как устранить нарушение политики"); }
// Этот метод вызывается, если пользователь нажимает кнопку F1 при активном
// нарушении политики в интерфейсе. В данном примере на экран выводится сообщение.
public override void DisplayHelp(PolicyFailure failure)
{
MessageBox.Show("Данная политика напоминает о необходимости сопровождения возвращаемых изменений комментариями.",
"Prompt Policy Help");
}
}
На этом шаге вы добавите запись в реестр Windows, благодаря чему ваша политика будет отображаться в диалоговом окне Add Check-in Policy. Учтите, что сборка политики должна быть установлена на все компьютеры, где предполагается ее использовать. К ним относятся компьютер администратора командного проекта, который должен связать политику с проектом, и все компьютеры членов команды, на которых эта политика фактически реализуется.
Важно! Политика проверяется на клиенте, когда разработчик возвращает файл в систему управления исходным кодом.
Regedit.exe и найдите раздел HKEY_LOCAL_MACHINE\ Software\Microsoft\VisualStudio\8.0\TeamFoundation\SourceControl\ Checkin Policies. Список зарегистрированных политик выводится в правой панели.Создать (New) и щелкните Строковый параметр (String Value) .Введите имя DLL -библиотеки своей пользовательской политики без расширения, например, CheckForCommentsPolicy, как в рассмотренном выше примере.
Важно! Строка должна точно соответствовать имени DLL -файла - без расширения DLL.
.dll.Теперь добавим пользовательскую политику в командный проект. Это гарантирует, что политика будет выполняться при каждом возврате файла.
Team Explorer щелкните правой кнопкой свой командный проект, выберите Team Project Settings и щелкните Source Control.Check-in Policy и щелкните Add.Check for Comments Policy и дважды щелкните OK. Теперь политика будет применяться при каждом возврате файла в этом командном проекте.Попробуйте возвратить в систему файл исходного кода, чтобы убедиться, что пользовательская политика работает правильно.
Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System.В этой статье подробно разбирается процесс создания в TFS дерева исходного кода. Цель статьи - познакомить вас со всеми этапами создания собственного дерева исходного кода.
Team Foundation Server.Чтобы добавить решение в систему управления исходным кодом, достаточно просто щелкнуть его правой кнопкой в Solution Explorer и выбрать команду Add Solution To Source Control. Однако такой вариант не позволяет явно настроить структуру дерева исходного кода в системе управления исходным кодом. Явно описывая структуру каталогов, вы можете организовать исходный код под папками верхнего уровня и использовать отдельные папки верхнего уровня для размещения основного исходного кода и его ответвлений, например, ветвей, используемых при разработке или для обслуживания готовых выпусков.
В данной статье описаны шаги, необходимые для явного создания структуры дерева исходного кода.
Для начала мы создадим новый командный проект с настройками по умолчанию.
Team Explorer щелкните правой кнопкой свой сервер TFS и выберите команду New Team Project.New Team Project ведите имя проекта, например MyTeamProject1, и щелкните Next.Select a Process Template оставьте значение по умолчанию - MSF for Agile Software Development - v4.0 - и щелкните Next.Specify the Settings for the Project Portal оставьте предлагаемое имя портала проекта ( MyTeamProject1 ), введите описание портала проекта и щелкните Next.Specify Source Control Settings оставьте значение по умолчанию Create an empty source control folder, чтобы создать пустую папку системы управления исходным кодом, и щелкните Next.Finish, чтобы создать проект.На сервере TFS будут созданы новый командный проект с использованием выбранного шаблона процесса и пустая папка для него.
Теперь нужно создать сопоставление рабочей области для описания соответствия между структурой каталогов на сервере TFS и на клиенте. Это необходимо для создания структуры дерева исходного кода. Сначала дерево каталогов создается в вашей рабочей области, затем вы должны передать его на сервер TFS.
>Сопоставление рабочей области можно создать двумя способами:
get.Явное задание сопоставления рабочей области
File Visual Studio выберите команду Source Control и щелкните Workspaces.Manage Workspaces выберите имя своего компьютера и щелкните Edit.Edit Workspace в списке Working folders щелкните Click here to enter a new working folder.MyTeamProject1 ) и щелкните OK.Local Folder и выберите локальную папку на компьютере, где вы хотите разместить рабочую область командного проекта, например, C:\DevProjects\MyTeamProject1.OK, чтобы закрыть диалоговое окно Edit WorkspaceOK в информационном сообщении Microsoft Visual Studio об изменении одной или нескольких рабочих папок.Close, чтобы закрыть диалоговое окно Manage Workspaces.Team Explorer разверните узел командного проекта MyTeamProject1.Source Control.Source Control Explorer щелкните правой кнопкой мыши корневую папку MyTeamProject1 и выберите команду Get Latest Version.Browse For Folder выберите нужный локальный путь (например, C:\DevProjects\MyTeamProject1 ) и щелкните OK. Корневая папка командного проекта с TFS будет сопоставлена с локальной папкой на вашем компьютере.На этом этапе исходя из стратегии и требований проекта создается структура каталогов системы управления исходным кодом на сервере. Обычно за основу берется структура /Main/Source, которая позволяет впоследствии создавать на одном уровне с Main ветви Development и Releases. В папке Releases размещаются ветви кода выпущенных версий ПО, для которых вы обеспечиваете поддержку. Папка Development содержит изолированные ветви разработки.
/Main /Source /MyApp1 -> Содержит MyApp1.sln /Source -> Папка-контейнер /ClassLibrary1 -> Содержит ClassLibrary1.csproj /MyApp1Web -> Содержит Default.aspx /UnitTests -> Содержит проекты модульных тестов /ClassLibrary1Tests -> Проект тестирования для ClassLibrary1 /MyApp1WebTests -> Проект тестирования для MyApp1Web /Build -> Содержит результат сборки (двоичные файлы) /Docs -> Содержит проектную документацию и пр. /TestCases -> Содержит документацию по тестированию /Development /FeatureBranch1 /Source /MyApp1 /Source /MyApp1Web /ClassLibrary1 /UnitTests /ClassLibrary1Tests /MyApp1WebTests /FeatureBranch2 /Releases /Release1 /MyApp1 /Source /ClassLibrary1 /MyApp1Web /UnitTests /ClassLibrary1Tests /MyApp1WebTests /Release 1.1 /Release 1.2
Team Explorer разверните узел командного проекта MyTeamProject1.Source Control.Source Control Explorer выберите корневой узел, щелкните правой кнопкой мыши панель Local Path и выберите команду New Folder.Main и нажмите Enter.Main создайте папку Source.Development и Releases.MyTeamProject1 в Source Control Explorer и выберите команду Check-in Pending Changes.Check In - Source Files - Workspace выберите папки, которые необходимо возвратить в систему управления исходным кодом, добавьте комментарий и щелкните Check In. Структура каталогов будет создана локально и добавлена в систему управления исходным кодом TFS.На этом этапе исходный код копируется с локального диска в дерево каталогов на сервере. В этом примере вы создадите новое веб-приложение и проект библиотеки классов, а затем добавите их в систему управления исходным кодом.
File команду New и щелкните Project.Other Project Types и выберите Visual Studio Solutions.Templates выберите Blank Solution.MyApp1 в поле Name и C:\DevProjects\MyTeamProject1\ Main\Source в поле Location.OK. Visual Studio создаст новое решение и поместит файл решения (.sln) в папку C:\DevProjects\ MyTeamProject1\Main\Source\MyApp1.Solution Explorer щелкните решение правой кнопкой, выберите Add и щелкните New Web Site.Templates выберите ASP.NET Web Site, задайте File System в качестве Location и C:\DevProjects\MyTeamProject1\Main\Source\ MyApp1\Source\MyApp1Web в качестве пути.OK. Visual Studio создаст веб-сайт.Solution Explorer щелкните решение правой кнопкой, выберите Add и щелкните New Project.Project types выберите Visual C#, а в списке Templates выберите Class Library.ClassLibrary1 и задайте в поле Location путь C:\DevProjects\MyTeamProject1\Main\Source\ MyApp1\Source.OK. Visual Studio создаст структуру нового проекта. Теперь локальная структура каталогов должна выглядеть следующим образом:
В Solution Explorer щелкните решение правой кнопкой мыши и выберите Add Solution to Source Control. Ваше решение и два проекта будут добавлены в Team Foundation Source Control.
Теперь дерево исходного кода в системе управления исходным кодом должно выглядеть так:

Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .В этой статье подробно разбирается изменение шаблона процесса, направленное на приведение его в соответствие с потребностями команды, а также рассматриваются используемые для этого инструменты. В шаблонах процесса описаны исходные настройки процесса для командных проектов. Настраивая шаблон процесса, можно задать:
Microsoft Office SharePoint® ;Process Editor.Visual Studio Team System (VSTS) и TFS предоставляют собой интегрированную среду с поддержкой большинства этапов процесса разработки ПО. Методология поддержки TFS при помощи шаблонов процессов. Шаблон процесса ( process template ) - это набор XML -файлов со спецификациями процессов и артефактов, составляющих конкретную методологию. Редактирование шаблона процесса заключается в изменении стандартных типов рабочих элементов, настроек безопасности, параметров системы управления исходным кодом и отчетов.
Изменить шаблон можно, вручную редактируя XML -файлы, однако проще делать это при помощи инструмента Process Editor из комплекта Team Foundation Server Power Tool. Его интерфейс существенно упрощает процесс настройки. К тому же, редактирование XML -файлов вручную чревато большим количеством ошибок.
Чтобы настроить шаблон процесса, необходимо скачать его с сервера, а затем с помощью Process Editor внести необходимые изменения.
На начальном этапе выполняется установка инструмента Process Editor - удобного средства просмотра и настройки шаблонов процессов. Process Editor - это часть Team Foundation Server Power Tool, представляющая собой набор расширений, инструментов и утилит командной строки.
Power Tool, т.е., установлен ли он вместе с Process Editor:Start и Programs.Microsoft Team Foundation Server Power Tool.Microsoft Visual Studio Team System Process Editor, значит, Process Editor установлен правильно. В противном случае удалите Power Tool и установите повторно, строго придерживаясь описанной ранее последовательности действий.Теперь выберите стандартный шаблон, наиболее близко соответствующий вашему процессу, чтобы для адаптации шаблона к процессу его не пришлось менять слишком сильно. С TFS поставляются два шаблона:
Microsoft Solution Framework (MSF) for Agile Software Development (MSF Agile) - шаблон для гибкой разработки ПО.MSF for CMMI® Process Improvement (MSF CMMI) - шаблон для совершенствования процесса согласно рекомендациям CMMI.Шаблон процесса MSF Agile прост и потому подходит, главным образом, для небольших, срочных или неформальных проектов по разработке ПО. Он основан на сценариях и действиях, MSF Agile code> может использоваться в следующих сценариях:
Шаблон процесса MSF CMMI предназначен для более серьезных проектов по разработке ПО. Он расширяет функциональность шаблона MSF Agile, предоставляя поддержку аудита, верификации и формальных процессов. Этот шаблон может использоваться в следующих сценариях:
Примечание Вы не ограничены стандартными шаблонами. Если у вас установлены шаблоны процессов сторонних производителей, например, шаблон процесса Scrum, вы вольны использовать и их.
Скачайте выбранный шаблон процесса, чтобы далее изменить его соответственно своему процессу.
Visual Studio выберите в меню Team команду Team Foundation Server Settings.Process Template Manager.Process Template Manager выберите процесс, который хотите изменить, и щелкните Download.Download Process Template выберите папку на локальном диске, в которую хотите сохранить шаблон, и щелкните Save. Например, можно загрузить шаблон процесса MSF CMMI и разместить его на своем рабочем столе для использования на следующих шагах.Загрузите скачанный шаблон процесса в Process Editor для изменения различных параметров.
Visual Studio раскройте меню Team.Process Editor и выберите Open Process Template.Open Process Template fileset перейдите к загруженному шаблону процесса и щелкните Open, чтобы открыть файл ProcessTemplate.xml в Visual Studio.Допустим, вы назвали новый шаблон процесса My Template.
На данном этапе вы создадите новые типы рабочих элементов, характерные для вашего процесса, или внесете изменения в существующие типы рабочих элементов.
Process Template Explorer щелкните Work Item Tracking.Type Definitions.Add на панели инструментов правой панели.New Work Item Type введите имя типа рабочего элемента или выберите существующий тип из раскрывающегося списка Copy From.Item List на вкладке Type Definitions правой панели.File выберите команду Save, чтобы сохранить изменения.Например, можно создать новую ошибку "My Bug" , скопировав рабочий элемент Bug, а затем отредактировать тип рабочего элемента и изменить его поведение.
Чтобы добавить или удалить поля атрибутов нового или существующего типа рабочего элемента, на вкладке Type Definitions щелкните правой кнопкой необходимый тип и выберите команду Open. Выбранный тип рабочего элемента открывается в новом окне Visual Studio, где можно добавлять или удалять необходимые атрибуты.
Добавление в рабочий элемент нового поля
Fields и щелкните Add на панели инструментов.Field Definition введите следующие данные:Name - имя нового поля.Type - тип данных для поля.RefName - уникальный идентификатор поля в TFS. В имени идентификатора должна быть, по крайней мере, одна точка, например, Test.Test1.Help Text - текст, который будет видеть пользователь, поместив указатель над именем поля. Как правило, это описание поля.Reportable - атрибут, определяющий, будут ли данные поля доступны для включения в отчеты TFS. Возможны следующие варианты: Dimension, Detail и Measure. Первый - измерение - предназначен для полей со списком допустимых значений. Хорошие примеры измерений - Work Item Type и State. Поле Dimension может использоваться для фильтрации отчетов. Вариант Detail подходит для отчетов, поскольку разрешает размещать текст без ограничений по длине. Отчеты, включающие эти поля, должны опираться не на куб OLAP, а на реляционную базу данных. Наконец, Measure - это числовые значения в отчетах. Каждая мера появляется и в группе мер Current Work Item, и в группе мер Work Item History.Formula - раскрывающийся список, который отображается, только если вы выбрали Measure в поле Reportable. К числу его параметров относятся sum, count и avg.Rules и щелкните New.Select a rule type выберите тип правила. Чаще всего используются такие типы:AllowedValues Используйте этот тип, чтобы задать список значений, которые можно вводить в это поле.DefaultValue Используйте этот тип, чтобы назначить полю значение по умолчанию.Required Используйте этот тип, если пользователь обязательно должен задавать значение этого поля.ValidUser Содержит имя пользователя проекта.OK, чтобы сохранить изменения.Work Item Type перейдите на вкладку Layout.Layout выберите в дереве компоновки место, где хотите разместить новое поле.New Control.FieldName элемента управления используйте идентификатор RefName, введенный для поля ранее.Preview Form, чтобы убедиться, что новый элемент управления правильно расположен на форме рабочего элемента.В качестве примера добавим в созданный ранее тип рабочего элемента My Bug новое поле Security Impact. Выполните следующие действия:
Fields и щелкните Add на панели инструментов.Field Definition введите следующие данные:Name - Security ImpactType - StringRefName - MyBug.CustomField.1Help Text - степень влияния ошибки на безопасность, значения в диапазоне от 1 до 5, где 1 представляет самое слабое влияние, а 5 - самое сильное.Reportable - задайте значение Dimension, чтобы иметь возможность создать отчет об ошибках, которые влияют на безопасность.Перейдите на вкладку Rules и щелкните кнопку Add.
В диалоговом окне Select a rule type установите параметр ALLOWED-VALUES и щелкните OK.
ALLOWEDVALUES пятикратно щелкните кнопку Add, добавив значения от 1 до 5.OK.Layout.Status:Group - Status щелкните правой кнопкой мыши второй узел Column и выберите New Control.FieldName значение MyBug.CustomField.1.Label значение Security Impact. Символ, следующий за "", будет "горячей" клавишей для этого поля.Preview Form, чтобы убедиться, что новое поле размещено правильно.Удаление поля из рабочего элемента
Поля часто упоминаются в запросах, отчетах и т.д. Чтобы не разыскивать и не удалять все эти ссылки, можно оставить поля в системе, но удалить их из разметки диалогового окна рабочего элемента, чтобы лишить пользователя возможности задавать их значения.
Удалим одно из полей созданного ранее типа рабочего элемента My Bug:
Layout, чтобы вывести на экран разметку формы для элемента My Bug.Layout в дереве компоновки разверните ветвь TabPage Details Group Column Group Schedule Column, щелкните правой кнопкой мыши Remaining work и выберите команду Delete, чтобы удалить поле из разметки.В будущем поле можно будет вернуть в разметку, потому что фактически само поле не было удалено.
После создания типа рабочего элемента и компоновки полей наступает черед заключительного этапа - редактирования последовательности операций типа рабочего элемента. Последовательность определяет состояния, в которых может находиться рабочий элемент в ходе своего жизненного цикла, и переходы между этими состояниями. Поскольку наш рабочий элемент является копией существующего рабочего элемента, его последовательность операций также была скопирована. Теперь необходимо пересмотреть эту последовательность и принять решение о том, как ее следует откорректировать. Чтобы изменить последовательность операций рабочего элемента, выполните следующие действия:
Workflow (резюме операций), чтобы открыть окно Workflow.WITDesigner в окно Workflow.WITDesigner щелкните значок Transition Link, а затем щелкните начальное и конечное состояние.Transition Link, затем щелкните пустую область диаграммы, затем щелкните начальное состояние. При этом будет создан переход, не имеющий начального состояния. На диаграмме должен присутствовать только один такой переход. Если он уже есть, его надо удалить.Open Details или просто дважды щелкните заголовок.Примечание Если панель инструментов WITDesigner не отображается, выберите команду Toolbox в меню View Visual Studio.
Open Details или щелкните заголовок дважды. Откроется диалоговое окно Workflow State Field Rules. Каждый элемент списка ссылается на поле типа рабочего элемента и представляет набор правил, управляющих полем, когда рабочий элемент находится в данном состоянии.Field Reference задайте RefName, чтобы обозначить поле, на которое хотите наложить ограничение в то время, когда рабочий элемент находится в этом состоянии. Раскрывающийся список с доступными полями находится на вкладке Fields типа рабочего элемента.Rules щелкните New, чтобы создать новое правило, или щелкните Open, чтобы редактировать существующее правило. В зависимости от типа правила в диалоговом окне отображаются разные данные.OK.Open Details, чтобы открыть диалоговое окно Workflow Transition.Transition Detail определены состояния перехода From и To. Если переход соответствует исходному состоянию, в котором рабочий элемент данного типа находится сразу после создания, состояние From должно быть пустым. Эти поля соответствуют связям на диаграмме последовательности операций. Поля For и Not могут содержать имя пользователя или группы, которые могут или не могут выполнять переход.Reasons определено допустимое значение поля Reason в момент перехода. Для каждого перехода должна быть задана, по крайней мере, одна причина.Actions определены действия переходов между состояниями, необходимые для автоматизации переходов рабочих элементов в различных точках последовательности операций. Например, система управления исходным кодом TFS должна поддерживать автоматические переходы рабочих элементов во время возврата изменений.Fields определены правила, ограничивающие поля во время перехода.OK.На данном этапе вы добавляете или удаляете стандартные рабочие элементы, создаваемые вместе с проектом. Эти рабочие элементы создаются по умолчанию и позволяют команде организовать подготовку к проекту, назначив рабочие элементы, которые должны быть завершены до его начала.
Process Template Explorer щелкните Work Item Tracking.Default Work Items правой панели.Add на панели инструментов правой панели.Choose Type выберите тип рабочего элемента.OK.Попробуйте удалить задачу Setup: Migration of Source Code, выполнив следующие действия:
Process Template Explore r щелкните Work Item Tracking.Default Work Items правой панели.Setup: Migration of Source Code.RemoveЗадача по умолчанию Setup: Migration of Source Code более не будет создаваться при создании нового проекта на основе данного шаблона.
Измените, добавьте или удалите стандартные запросы, создаваемые одновременно с командным проектом.
Process Template Explorer щелкните Work Item Tracking.Queries (запросы) правой панели.Add на панели инструментов правой панели.Query Reference введите имя нового запроса.Edit Query Definition.Fields, Sorting и Criteria диалогового окна Query Edit, чтобы описать свой запрос.OK.Например, создадим запрос, который будет выбирать все ошибки с самым сильным воздействием на безопасность:
Process Template Explorer щелкните Work Item Tracking.Queries правой панели.Add.Name значение Bugs with Security Impact.Edit Query Definition.Query Edit перейдите на вкладку Fields, выберите все поля для отображения, включая MyBug.CustomField.1, и щелкните кнопку со стрелкой, чтобы перенести их в окно Selected Columns. Если вы не видите добавленного вами поля, убедитесь, что сохранили файл ProcessTemplate.xml, и повторите попытку.Criteria, оставьте столбец And Or пустым, а в столбце Field выберите значение MyBug.CustomField.1. В столбце Operator выделите стрелку, а затем в столбце Value введите "1". Значение 1 обязательно нужно взять в кавычки, потому что это поле строкового типа. Если бы при создании поля Security Impact был выбран тип integer или другой числовой тип, кавычки были бы не нужны.OK.Этот запрос отобразит все рабочие элементы, у которых значение в поле MyBug.CustomField.1 превышает 1.
Примечание В Process Editor отсутствуют некоторые важные функции по управлению запросами. Их лучше редактировать и тестировать не в шаблоне процесса, а в Visual Studio, в разрабатываемом командном проекте. Запросы можно сохранять в файлы, а затем импортировать их в другие проекты или копировать в шаблоны процессов.
На данном этапе задаются итерации и области по умолчанию, доступные в момент создания командного проекта.
Process Template Explorer щелкните Areas Iterations.Areas или Iterations правой панели.Например, добавим несколько стандартных областей для организации проектов, создаваемых на основе этого шаблона:
Process Template Explorer щелкните Areas Iterations.Areas правой панели.New.UI.Area, потому что вам нужно, чтобы следующая область была потомком корневой области.New еще раз.Back End.Теперь для всех новых проектов, использующих ваш шаблон процесса, автоматически будут определены области UI и Back End.
На данном этапе вы изменяете, удаляете или добавляете группы и их права доступа на момент создания командного проекта.
Process Template Explorer щелкните Groups Permissions.Add на панели инструментов правой панели.Group введите имя новой группы и краткое описание того, что могут делать ее члены. Затем щелкните OK.Allow, Deny, или сохраните значение Unset . Оно подразумевает отказ в доступе.На этом этапе вы измените настройки системы управления исходным кодом для параллельного редактирования и возврата правок.
Process Template Explorer щелкните Source Control.Checkout Settings правой панели.Enable Multiple Checkout .Checkin Notes правой панели.Checkin Note, щелкните Add на панели инструментов окна справа.Checkin Note, выберите поле и щелкните Open.Checkin Note внесите необходимые изменения.OK.Примечание В этой версии Process Editor недопускается внесение изменений на вкладке Permissions.
Например, можно потребовать, чтобы все возвраты изменений сопровождались комментариями, выполнив следующие действия:
Process Template Explorer щелкните Source Control.Checkin Notes правой панели.Required в диалоговом окне Checkin Note.Теперь все возвраты правок обязательно должны будут сопровождаться комментариями.
На данном этапе вносятся изменения в портал проекта, чтобы отображать на нем определенные документы и руководства по процессу.
Process Template Explorer щелкните Portal.Portal в средней панели и выберите команду New Document Library.Document Library введите имя и описание библиотеки.OK.New Folder, чтобы создать новую папку.Folder Properties введите имя новой папки.Add, чтобы выгрузить новый документ на сервер.File Import перейдите к файлу, который хотите выгрузить на сервер. Поля Destination Folder и Share Point Folder будут заполнены автоматически. Оставьте неизменным значение поля Query Id.Import.Open на панели инструментов.File Edit измените имя файла в поле Name. Остальные поля оставьте без изменений.На данном этапе вы добавите или удалите отчеты из набора по умолчанию, создаваемого вместе с командным проектом.
Process Template Explorer щелкните Reports.Add.Report на вкладке Report Detail введите имя отчета..rdl , который хотите добавить в поле File Name. Не вносите никаких изменений на вкладках Properties и Parameters.DataSources введите соответствующие источники данных. Стандартные источники данных для шаблонов процессов, поставляемые с TFS, - /TfsOlapReportDS и /TfsReportDS.OK.Чтобы удалить отчет из шаблона процесса, выполните следующие действия:
Process Template Explorer щелкните Reports.Load Test Detail (данные Remove.Теперь отчет не будет включаться в проекты, создаваемые с использованием этого шаблона процесса.
Теперь мы выгрузим измененный шаблон процесса на TFS, после чего он станет доступен для создания новых командных проектов.
Save на панели инструментов Visual Studio, чтобы сохранить файл ProjectTemplate.xml.Team и выберите Team Foundation Server Settings.Process Template Manager.Process Template Manager щелкните Upload.Upload Process Template щелкните Upload. Новый шаблон процесса должен появиться в списке Process Templates.Close.Процесс настройки завершен. При создании следующего командного проекта этот шаблон будет перечислен среди предлагаемых шаблонов процессов. Чтобы протестировать изменения, описанные в этой статье, выгрузите на сервер созданный вами шаблон процесса My Test:
XML -файлы шаблона процесса.Visual Studio щелкните Team и выберите Team Foundation Server Settings.Process Template Manager.Process Template Manager щелкните Upload.My Test.Upload Process Template щелкните Upload Новый шаблон процесса должен появиться в списке Process Templates.Close.Создайте новый проект на основании этого шаблона процесса:
File выберите New и щелкните Team Project.Test Project ) и щелкните Next.My Test.Finish.Просмотрите измененные вами области:
Team выберите Add Work Item и щелкните My Bug, чтобы создать новый рабочий элемент созданного вами типа.Status просмотрите поля рабочего элемента. Среди них должно присутствовать добавленное вами поле Security Impact.Team Explorer откройте свой командный проект.Work Items.Team Queries.All Work Items.Setup: Migration of Source Code.Team Explorer откройте свой командный проект.Work Items.Team Queries.Bugs with Security Impact.All Work Items, выполненного в предыдущем шаге.Area найдите две добавленные вами области ( UI и Back End ).Team Explorer откройте свой командный проект.Reports.Load Test Detail нет.Дополнительные ресурсы
Process Editor читайте в руководстве "Process Editor Process Editor Tool.Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .Microsoft® SQL Server™ Reporting Services.В этой статье подробно разбирается процесс редактирования существующего отчета с последующей публикацией на портале системы отчетов TFS.
Team Foundation Server.Visual Studio.Отчеты, поставляемые с VSTS, основаны на использовании SQL Server Reporting Services. С помощью конструктора отчетов Visual Studio (Business Intelligence Development Studio) из комплекта клиентских инструментов SQL Server 2005 можно редактировать готовые отчеты или создавать собственные.
Возможность настраивать отчеты позволяет вводить в них дополнительную функциональность. Если вам нужен отчет, подобный существующему, вам не нужно создавать новый отчет с нуля. Возьмите имеющийся отчет и настройте его, сэкономив таким образом немало времени. Чтобы настроить существующий отчет, его необходимо экспортировать с сервера отчетов, добавить в существующий проект отчетов Visual Studio, а затем после внесения изменений повторно развернуть на портале отчетов.
Team Foundation Server.Прежде чем приступать к настройке отчета для Team Foundation Server, убедитесь в следующем:
Business Intelligence Development Studio. Чтобы проверить ее наличие, при создании нового проекта посмотрите, имеется ли в Visual Studio тип Business Intelligence Project.Microsoft Analysis Server TfsWarehouseDataReaders на сервере уровня данных.TFSWarehouse уровня данных.Publisher в SQL Server Reporting Services на сервере уровня приложений.Чтобы добавить в проект новый отчет и настроить его, начните с создания проекта отчетов. Выполните следующие действия:
Visual Studio откройте меню File, выберите команду New и щелкните Project.Business Intelligence Project.Report Server Project.OK.Отчет, который требуется настроить, экспортируется с портала проекта, чтобы затем импортировать его в новый проект отчетов. Выполните следующие действия, чтобы экспортировать отчет:
Show Project Portal.Quick Launch левой части веб-сайта портала щелкните Reports.Properties.Edit..rdl отчета в папку проекта отчетов, который был создан в шаге 1.Чтобы редактировать и публиковать настроенный отчет, необходимо добавить источники данных для хранилища данных Team Foundation Server и OLAP -куб. После добавления этих источников данных в проект Visual Studio отчет может закачивать данные с сервера.
Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.General введите TfsReportDS в текстовое поле Name.Type выберите Microsoft SQL Server.Edit.TFSWarehouse.ОК, чтобы добавить источник данных.Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.General введите TfsOlapReportDS в поле Name.Type выберите Microsoft SQL Server Analysis Services.Edit.TFSWarehouse.ОК, чтобы добавить источник данных.Теперь, когда в проект добавлены источники данных, можно импортировать отчет, экспортированный на шаге 2:
Solution Explorer щелкните правой кнопкой Reports, выберите Add и затем щелкните Existing Item..rdl , экспортированному на шаге 2.Добавив отчет в проект, внесите в него коррективы и настройте соответственно своим нуждам. Чтобы открыть отчет для редактирования, дважды щелкните его в Solution Explorer. Теперь его можно менять следующим образом:
Data Pane ;Data Pane ;Layout Pane.Внеся изменения в отчет, разверните его на портале отчетов командного проекта:
Solution Explorer щелкните правой кнопкой проект отчетов и выберите Properties.OverwriteDataSources присвоено значение false.TargetDataSourceFolder согласно имени своего командного проекта, например: TargetDataSourceFolder = TestProjectTargetReportFolder согласно имени своего командного проекта, например: TargetReportFolder = TestProjectTargetServerURL значение http://<имя сервера уровня данных>/reportserver, например: TargetServerURL = http://tfsrtm/reportserverSolution Explorer щелкните правой кнопкой файл .rdl и выберите Deploy.Output Pane, чтобы убедиться в успешности операции.Опубликовав отчет на сервере отчетов своего командного проекта, протестируйте его, чтобы убедиться в успешности развертывания:
Team Explorer разверните узел своего командного проекта, щелкните правой кнопкой Reports и выберите команду Show Report Site.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .В этой статье подробно разбирается процесс запуска новых проектов по разработке ПО путем создания и настройки новых командных проектов на основе выбранного шаблона. Также здесь показано, как использовать инструменты TFS для организации, управления и отслеживания процессов разработки ПО.
Team Foundation Server.TFS.QoS.TFS.TFS.В комплект Visual Studio Team System входят инструменты и отчеты, с помощью которых руководители проектов могут единообразно и централизованно управлять всем циклом разработки ПО. Благодаря возможности управления разработкой ПО непосредственно из VSTS и использованию централизованной базы данных, с которой работают все члены команды, улучшается обмен информацией внутри команды и автоматизируется передача рабочих элементов между ее членами. Кроме того, отчеты, создаваемые на основе данных хранилища TFS, намного упрощают задачу по контролю за ходом выполнения проекта.
В этой статье последовательно рассматривается процесс работы с командным проектом, начиная с создания и настройки нового проекта до контроля за его выполнением.
Team Foundation Server.TFS.QoS.Прежде чем приступать к созданию нового командного проекта, необходимо собрать следующую информацию:
MSF Agile.Visual Studio Team Foundation Server ".Продумайте, какой процесс вы хотели бы использовать для своего проекта, а затем рассмотрите возможности каждого из поставляемых с TFS шаблонов. Обращать внимание следует на описания рабочих элементов (есть ли в них все необходимые вам поля?), шаблоны документов, последовательности операций, политики возврата после правки и отчеты. В TFS включено два шаблона процессов:
MSF for Agile Software Development (MSF Agile) Простой шаблон процесса для небольших, срочных или неформальных проектов по разработке ПО. Он основывается на сценариях и MSF for CMMI® Process Improvement (MSF CMMI) Шаблон процесса для более серьезных проектов по разработке ПО. Он расширяет функциональность шаблона MSF Agile, предоставляя поддержку аудита, верификации и формальных процессов. Ориентирован на процесс, на соответствие процессу и на организацию.Visual Studio Team Foundation Server ". В дальнейшем предполагается, что выбран шаблон MSF Agile.После выбора шаблона вы готовы создать новый командный проект. Выполните следующие действия:
Visual Studio соединена с экземпляром TFS.Team Explorer щелкните правой кнопкой мыши сервер и выберите New Team Project.New Project Creation Wizard введите имя командного проекта и щелкните Next.Select a Process Template из раскрывающегося списка укажите шаблон процесса, выбранный на шаге 1. В нашем примере выберите шаблон MSF for Agile Software Development -v4.0 и щелкните Next.Specify the Settings for the Project Portal введите имя и описание портала командного проекта и щелкните Next. Указанное здесь имя используется при создании веб-сайта Microsoft Windows SharePoint® Services для портала проекта.Specify Source Control Settings задайте Create an empty source control folder и щелкните Next.Confirm Team Project Settings проверьте настройки и щелкните Finish.На сервере TFS будет создан командный проект на базе шаблона процесса MSF Agile.
Независимо от выбранного шаблона процесса в новом проекте TFS создается четыре стандартные группы. По умолчанию каждая из этих групп обладает предопределенным набором прав, определяющих, что разрешается делать ее членам. Создаются группы:
Project Administrator.Contributor.Reader.Build Services.В своем проекте вы вольны создать и другие группы доступа, чтобы максимально выполнить требования по безопасности конкретной организации. Создание групп доступа - эффективный способ предоставить группе пользователей в командном проекте конкретный набор полномочий. Необходимо предоставлять группе лишь минимально необходимые права доступа и вносить в нее только тех пользователей или другие группы, которым нужны эти права.
Чтобы создать новую группу, вы должны быть членом группы Project Administrators. Быть администратором Microsoft Windows® вам не нужно.
Team Explorer выберите командный проект, для которого хотите создать группу.Team Project Settings и щелкните Group Membership.Project Groups щелкните New /Create New Team Foundation Server Group в поле Group name введите имя группы командного проекта.Description введите описание группы.OK и Close.Создав группу командного проекта, предоставьте ей соответствующие права доступа и добавьте в нее членов группы. По умолчанию вновь созданная группа командного проекта не получает никаких разрешений.
На этом этапе определяются ресурсы, которые будут работать над проектом, и их роли. Затем члены команды добавляются в TFS. Пользователей можно добавлять в существующие группы проекта или группы уровня сервера. Также вы должны добавить пользователей во вновь созданные вами группы. Для этого вы должны быть членом группы Team Foundation Administrators.
Team Explorer.Team выберите команду Team Project Settings и щелкните Group Membership. Чтобы добавить пользователей в группу уровня сервера, выберите команду Team Foundation Server Settings и щелкните Group Membership.Project Groups выберите группу, в которую хотите добавлять пользователей, и щелкните Properties.Team Foundation Server Group Properties на вкладке Members в разделе Add member выберите Windows User or Group.Add.Select Users or Groups в разделе Enter the object names to select введите имя домена и имена пользователей, которого хотите добавить, в формате домен\имя пользователя. Чтобы добавить сразу несколько пользователей, введите их имена через точку с запятой.OK и щелкните Close.Итерации ( iteration ) - это промежутки времени фиксированной длины, для которых вы продумываете, планируете и осуществляете работу. Все компоненты цикла разработки ПО, начиная с определения требований и заканчивая анализом, проектированием, разработкой, написанием кода и тестированием, группируются в итерации, продолжительность которых обычно составляет от 2 до 6 недель.
На этом этапе вы определяете итерационный цикл своего проекта. При этом необходимо принять во внимание следующие соображения:
Описание сценария проекта в TFS позволяет лучше спланировать ход проекта и отслеживать его выполнение.
project back log, PBL ). Его обычно составляют в Microsoft Office Word.PBL в качестве входных данных для выработки различных сценариев проекта.Team Explorer разверните узел проекта и щелкните правой кнопкой папку Work Items.Add Work Item и щелкните Scenario .New Scenario введите данные сценария.Теперь описанные сценарии нужно распределить по итерациям. Этот этап повторяется на каждом итерационном цикле.
Work Items и Team Queries, а затем дважды щелкните запрос All Scenarios, чтобы вывести на экран все сценарии проекта.Iteration введите путь текущей итерации и щелкните значок Save.На этом этапе для каждого из сценариев, реализуемых во время данного итерационного цикла, определяются требования QoS. Этот этап повторяется на каждом итерационном цикле. Это помогает определить критерий приемки для сценария. Требования QoS формулируются на основе целей, требований к проекту и спецификаций, если таковые имеются.
Work Items проекта и выберите Add Work Item. Затем щелкните Quality of Service Requirements.New Quality of Service Requirements введите следующую информацию:Type нужное значение: Performance, Scalability, Stress или Security.Iteration текущего итерационного цикла.Links свяжите требование QoS с конкретным сценарием, чтобы упростить контроль.QoS.QoS для каждой дисциплины или типа требования QoS. Помните, что у каждого сценария может быть несколько требований QoS.Убедитесь, что создали требования QoS для всех сценариев, реализуемых в течение данного итерационного цикла.
Важно! Позже требования QoS могут быть разложены на задачи тестирования.
Планирование итерации заключается в разделении на задачи сценариев, требований QoS и других рабочих элементов, в предварительной оценке времени, необходимого для выполнения каждой задачи, и в распределении задач между членами команды. Этот этап повторяется на каждом итерационном цикле.
Задачи разработки
TFS как рабочие элементы Task:Team Explorer в каталоге проекта щелкните правой кнопкой папку Work Items, выберите Add Work Item и щелкните Task.New Task введите следующие данные:Discipline значение Development.Iteration текущий итерационный цикл.Links свяжите задачу с конкретным сценарием для упрощения контроля.New Task Page помимо описания задайте критерий приемки задачи, по которому можно будет судить о ее успешном завершении.Assigned to задайте разработчика, который будет заниматься данной задачей.Задачи тестирования
QoS для данного сценария на сценарии тестирования.TFS как рабочие элементы Task:Team Explorer в каталоге проекта щелкните правой кнопкой папку Work Items, выберите Add Work Item и щелкните Task.New Task введите следующие данные:Discipline значение Test.Iteration текущий итерационный цикл.Links свяжите задачу с конкретными требованиями QoS для упрощения контроля.New Task Page помимо описания задайте критерий приемки задачи, по которому можно будет судить о ее успешном завершении.Assigned to задайте тестировщика, который будет заниматься данной задачей.QoS итерации.Architecture, Release Management, Project Management, Requirements, которые нуждаются в контроле.В крупных проектах с огромным количеством рабочих элементов используйте возможность интеграции с .
В крупных проектах, где задействовано множество ресурсов, используйте возможность интеграции с .
В каждый шаблон процесса включен набор отчетов, которые можно использовать для контроля за состоянием проекта. Ниже описаны стандартные отчеты.
Отчеты об ошибках позволяют следить за тем, какие типы ошибок возникают, как они устраняются, какие возникают тенденции. К вашим услугам следующие отчеты об ошибках:
Bugs by Priority Правильно ли выявлены ошибки? В этом отчете показывается соотношение выявленных высокоприоритетных ошибок и ошибок с низким приоритетом. Он доступен в обоих стандартных шаблонах.Bug Rates Насколько эффективно происходит выявление, исправление и закрытие ошибок? В этом отчете показывается общая тенденция по выявлению новых ошибок, приводятся списки незакрытых ошибок и сведения по исправлению ошибок. Он доступен в обоих стандартных шаблонах.Отчеты по управлению выпусками позволяют судить, насколько разрабатываемое ПО готово к выпуску. К вашим услугам следующие отчеты:
Actual Quality versus Planned Velocity Сколько сценариев можно завершить, прежде чем качество станет неприемлемым? На каждой итерации этот отчет представляет соотношение примерного объема проекта и общего качества. Отчет доступен в обоих стандартных шаблонах.Builds Каково качество сборки? В этом отчете содержится список имеющихся сборок, а также их качество и другая подробная информация. Отчет доступен в шаблоне MSF CMMI.Quality Indicators Каково качество ПО? В этом отчете собраны результаты тестов, ошибки, сведения о покрытии кода и его изменчивости. Отчет доступен в обоих стандартных шаблонах.Velocity Насколько быстро команда справляется с работой? Из этого отчета вы узнаете, насколько своевременно команда выполняет плановые задания и как темп ее работы меняется изо дня в день. Отчет доступен в обоих стандартных шаблонах.Scenario Details Для каких сценариев мы готовим приложение? В отчете содержатся сведения обо всех сценариях, включая информацию о завершенности, рисках и испытаниях.Отчеты о тестировании позволяют следить за эффективностью испытаний. Доступны следующие отчеты о тестировании:
Regressions Какие тесты ранее выполнялись, а теперь - нет? Их список содержится в этом отчете. Отчет доступен в шаблоне MSF CMMI.Requirements Test History Насколько хорошо протестированы сценарии и требования? В этом отчете показаны результаты испытаний определенных сценариев и требований. Отчет доступен в шаблоне MSF CMMI.Test Failure Without Active Bug Каждый ли из известных дефектов документирован как ошибка? В этом отчете показаны неудачные испытания, с которыми не связаны открытые ошибки. Отчет доступен в шаблоне MSF CMMI.Test Passing With Open Bug Своевременно ли обновляется список ошибок и согласуется ли он с качеством приложения? Отчет отображает список устаревших ошибок, тесты для которых теперь выполняются. Доступен в шаблоне MSF CMMI.Load Test Summary К каким выводам о производительности приложения привели испытания под нагрузкой? В отчете содержатся результаты MSF AgileОтчеты о рабочих элементах позволяют оценивать текущее состояние проекта и его продвижение. Доступны следующие отчеты о рабочих элементах:
Open Issues and Blocked Work Items Trend Сколько у вас осталось неразрешенных проблем? В отчете перечислены открытые проблемы и наметившиеся тенденции к их разрешению. Отчет доступен в шаблоне MSF CMMI.Reactivations Сколько рабочих элементов было повторно активировано? В отчете указаны рабочие элементы, которые были преждевременно закрыты или помечены как разрешенные. Отчет доступен в обоих стандартных шаблонах.Related Work Items Как одни рабочие элементы зависят от других рабочих элементов? В отчете отображается список рабочих элементов, которые связана с другими рабочими элементами, что позволяет прослеживать зависимости между ними. Отчет доступен в шаблоне MSF CMMI.Remaining Work Сколько осталось выполнить работ и когда они будут завершены? В отчете отражена незавершенная работа, а также разрешенная и закрытая работа. Выявив тенденции, вы определите время, к которому код будет завершен. Отчет доступен в обоих стандартных шаблонах.Triage Какие рабочие элементы нуждаются в уточнении? В этом отчете показаны рабочие элементы, все еще имеющие статус предложения. Отчет доступен в шаблоне MSF CMMI.Unplanned Work Сколько выполняется внеплановых работ? В отчете полная работа сопоставляется с уже выполненной с разделением плановых и внеплановых задач. Отчет доступен в обоих стандартных шаблонах.Work Items Какие рабочие элементы активны? В отчете перечислены все активные рабочие элементы. Отчет доступен в шаблоне MSF CMMI.Work Items by Owner Сколько работы назначено каждому члену команды? В этом отчете рабочие элементы отсортированы по владельцам.Отчет доступен в шаблоне MSF CMMI.
Work Items by State Сколько имеется активных, разрешенных и закрытых рабочих элементов? В этом отчете рабочие элементы отсортированы по состоянию. Отчет доступен в шаблоне MSF CMMI.При работе с областями и итерациями необходимо учитывать следующие соображения:
UI (пользовательский интерфейс), Application (приложение) и Database (база данных), а затем распределить по этим областям сценарии и рабочие элементы. С помощью областей рабочие элементы группируются для запросов и отчетов. Можно начать с одной корневой области, а потом в ходе разработки проекта по мере надобности создавать дополнительные области.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual SourceSafe® (VSS ) .В этой статье подробно разбирается процесс переноса исходного кода из в TFS с использованием . Конвертер позволяет переносить файлы, папки, историю версий, метки и пользовательскую информацию из базы данных в базу данных системы управления исходным кодом TFS. Прежде чем выполнять перенос исходного кода, необходимо создать резервную копию и подготовить исходную базу данных .
VSS .VSS с точки зрения целостности данных.VSS .VSS и выполнять подготовку к переносу.VSS в TFS.В Team Foundation Server включены инструменты, облегчающие перенос исходного кода из базы данных Visual Source Safe ( в систему управления исходным кодом TFS. В частности, в TFS предлагается инструмент , позволяющий переносить файлы, папки, историю версий, метки и пользовательскую информацию. r используется в два этапа: сначала для выявления потенциальных проблем с его помощью выполняется анализ существующей базы данных , а затем выполняется фактический перенос.
Следуя рекомендациям из этой статьи, вы успешно перенесете свой исходный код. Основные проблемы, которые могут при этом возникнуть, обусловлены некоторыми различиями процесса управления исходным кодом в TFS по сравнению с . Например, в TFS не поддерживается совместное использование файлов. При переносе общий файл копируется в целевую папку в том состоянии, в котором он был на момент начала совместного использования. Ветвление в осуществляется через совместное использование файлов, поэтому перенос ветвей также заключается в копировании файлов в целевую папку системы управления исходным кодом TFS. Поскольку TFS/ не поддерживает фиксацию версий, инструмент VSSConver-ter маркирует все файлы, версии которых ранее были фиксированы в базе данных , меткой "PINNED", чтобы их можно было найти в системе управления исходным кодом TFS.
Чтобы успешно выполнить все действия, описанные в этой статье, необходимо следующее:
Team Foundation Administrators.VSS 2005. Если используется более ранняя версия VSS , работа конвертера завершается с выводом предупреждения. Также обязательно используйте команду Analyze клиента VSS 2005, поскольку она способна находить проблемы, которые предыдущими версиями не определялись. База данных VSS необязательно должна быть базой данных именно версии VSS 2005.Microsoft SQL Server™ 2005 Express Edition. Во время преобразования конвертер использует локальный экземпляр SQL Server как временную базу данных. SQL Server Express Edition устанавливается по умолчанию с Visual Studio 2005.TFS и список имен пользователей TFS так, как они определены в Microsoft Active Directory®.VSS , а также имя пользователя и пароль администратора проекта TFS.VSS .VSS с точки зрения целостности данных.VSS .Прежде чем выполнять перенос, создайте резервную копию базы данных , которую собираетесь переносить.
Попросите всех пользователей возвратить редактируемые ими файлы и выйти из базы данных . Попросите пользователей закрыть Visual Studio Integrated и .
Важно!Извлеченные для редактирования файлы не будут перенесены в TFS.
VSS в папку резервного копирования: \DATA \Temp \USERSUser.txt Srcsafe.iniПо умолчанию эти файлы размещаются в папке \Program Files\Microsoft Visual Studio\.
На данном этапе с помощью утилиты Visual SourceSafe Analyze выявляются и исправляются проблемы целостности в базе данных.
Analyze.exe, чтобы выявить повреждения или ошибки в базе данных: analyze "<sourcesafe data directory>" Для автоматического выполнения используйте параметр -I.Status.dat или Rights.dat, выполните программу Ddconv.exe или Ddconvw.exe. Они обновляют формат базы данных VSS . По умолчанию эти программы установлены в подпапке \Admin.Теперь выберите проекты, которые будете переносить, и запустите инструмент командной строки TFS VSSConverter.exe, чтобы выявить в базе данных потенциальные проблемы, способные вызвать трудности при миграции кода.
Создайте XML -файл настроек, назвав его, например, ConversionSettings. xml:
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter> <ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="c:\VSSDatabase"> </VSSDatabase> </Source>
<ProjectMap>
<Project Source="$/MyFirstProject"></Project>
<Project Source="$/MySecondProject"></Project>
</ProjectMap> </ConverterSpecificSetting>
</SourceControlConverter>
В этом примере MyFirstProject и MySecondProject - имена папок проектов в , которые подлежат переносу. Чтобы перенести всю базу данных , используйте <Project Source="$/"></Project> .
Чтобы проанализировать проекты, запустите VSSConverter.exe с параметром Analyze: VSSConverter Analyze ConversionSettings.xml
По запросу введите пароль администратора Visual SourceSafe.
VSSAnalysisReport.xml с результатами анализа. Изучите полученный отчет и выявите возможные ошибки преобразования.Сопоставьте пользователей с пользователями TFS. Инструмент VSSConverter создает файл UserMap.xml, содержащий список всех пользователей , которые хотя бы один раз обращались к базе данных . Отредактируйте файл UserMap.xml, добавляя соответствующие имена пользователей TFS (учетные записи Windows). Имена пользователей должны быть заданы с включением домена (Домен\ИмяПользователя). Ниже показан пример файла Usermap.xml. В атрибуте From содержатся учетные записи пользователей , а в атрибуте To указаны соответствующие им имена пользователей TFS.
<?xml version="1.0" encoding="utf-8" ?> <UserMappings xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--
Этот файл автоматически создается
<UserMap From="Jane"
To="MyDomain\Janep"></UserMap>
Это сопоставление приводит к тому, что все действия VSS-пользователя "Jane"
при переносе будут отнесены к пользователю Team Foundation
"MyDomain\Janep". -->
<UserMap From="ADMIN" To="Contoso\Administrator" />
<UserMap From="Dave" To="Contoso\DaveM" />
<UserMap From="Chris" To="Contoso\ChrisP" />
<UserMap From="John" To="Contoso\JohnR" />
</UserMappings>
На данном этапе с помощью инструмента VSSConverter.exe выполняется перенос проектов .
Измените файл ConversionSettings.xml, созданный на шаге 3, добавив в него новый элемент <Settings> с тегом <TeamFoundationServer> :
<SourceControlConverter>
<ConverterSpecificSetting> …
</ConverterSpecificSetting>
<Settings>
<TeamFoundationServer name="YourTFSServerName"
port="PortNumber" protocol="http">
</TeamFoundationServer>
</Settings> …
</SourceControlConverter>
Вставьте элемент <Settings> сразу после </ConverterSpecificSettings> , как дочерний элемент элемента <SourceControlConverter> .
Измените файл ConversionSettings.xml, добавляя атрибуты Destination в элементы <Project> , как показано ниже. В качестве значений атрибутов Destination задавайте пути к папкам проекта TFS Team, куда вы хотите перенести файлы.
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter> <ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="c:\VSSDatabase">
</VSSDatabase>
</Source>
<ProjectMap>
<Project Source="$/MyFirstProject"
Destination="$/MyTeam_ProjectOne">
</Project>
<Project Source="$/MySecondProject"
Destination="$/MyTeam_ProjectTwo">
</Project> </ProjectMap>
</ConverterSpecificSetting>
<Settings>
<TeamFoundationServer name="YourTFSServerName"
port="PortNumber" protocol="http">
</TeamFoundationServer> </Settings>
</SourceControlConverter>
В разделе <ProjectMap> для каждой переносимой папки вместо MyFirstProject укажите исходные папки и вместо MyTeamProject-One - заданные папки системы управления исходным кодом TFS. Включите запись <Project> для всех проектов, которые хотите переносить.
Скопируйте базу данных в локальную папку (например, C:\VSSData-bases ) на компьютере, на котором хотите выполнить анализ и перенос. Базу данных можно перенести и в совместно используемую папку на удаленном компьютере, но миграция в этом случае займет намного больше времени.
VSSConverter Migrate Conversionsettings.xmlY, чтобы подтвердить перенос. По запросу введите пароль пользователя с правами администратора Visual SourceSafe.Если в применялись совместное использование файлов, ветвление или фиксация версий файлов, необходимо учитывать следующие соображения:
Team Foundation Server не поддерживает совместного использования файлов. Перенос таких файлов осуществляется путем копирования версии файла на момент начала его совместного использования. Все последующие изменения, вносимые в совместно используемый файл, реплицируются как в общую, так и в исходную копию.VSS осуществляется посредством совместного использования файлов, перенос ветвей приводит к тому, что файлы копируются в заданную папку системы управления исходным кодом TFS. После ветвления изменения, вносимые в любую из ветвей, переносятся в соответствующую копию в системе управления исходным кодом TFS.Team Foundation Server не поддерживает фиксацию версий файлов. Чтобы найти в системе управления исходным кодом TFS элементы, версии которых ранее были фиксированы в базе данных VSS , инструмент VSSConverter маркирует такие файлы меткой "PINNED" . Для оптимизации производительности (это особенно важно для больших БД VSS ) выполняйте преобразования на сервере TFS.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .В этой статье подробно разбирается процесс слияния двух ветвей, которые никак не связаны друг с другом. Процесс слияния элементов, не являющихся непосредственными ответвлениями друг друга, называется слиянием без общей основы ( baseless nerge ). Выполняется такое слияние с помощью команды Tf merge. Осуществить слияния без основы из интерфейса Visual Studio невозможно.
Tf.exe.Процесс слияния элементов, не являющихся непосредственными ответвлениями друг друга, называется слиянием без основы. Примером такого слияния может быть перенос изменений между двумя ветвями выпускаемых версий, являющимися ветвями одного уровня, без переноса изменений в родительскую ветвь. Слияние без основы может выполняться только посредством команды Tf merge. Его невозможно выполнить из интерфейса Visual Studio.
При слиянии без основы TFS не располагает никакой информацией об отношениях между файлами ветвей. Например, если файл был переименован, это будет рассматриваться как удаление файла и добавление в ветвь нового файла. Поэтому при таком слиянии приходится разрешать больше конфликтов, чем при обычном слиянии. Однако это делается только один раз. После первого слияния без основы TFS сохраняет историю слияния и устанавливает отношения между папками и файлами.
Tf.exe.На данном этапе рассматриваются ветви и элементы, подлежащие слиянию, и принимается решение о том, следует ли выполнять слияние без основы или можно обойтись обычным слиянием.
Если вы являетесь владельцем или администратором командного проекта, отношения между ветвями или элементами вам известны. Из Visual Studio можно выполнять слияние только тех ветвей, между которыми установлено отношение "родитель-потомок". Если в проекте имеются ветви или элементы, между которыми нет таких отношений, придется выполнять слияние без основы.
Если вам не известны отношения между ветвями или элементами, необходимость в выполнении слияния без основы можно установить следующим образом:
Source Code Explorer.Merge.Source Control Merge Wizard щелкните раскрывающийся список Target branch. Отсутствие в этом списке ветви, для которой вы хотите выполнять слияние, указывает, что между данными ветвями нет отношения слияния. В этом случае необходимо выполнять слияние без основы.Чтобы выполнить слияние без основы с помощью инструмента командной строки Tf.exe, выполните следующие действия:
Get Latest для подлежащих слиянию ветвей:Source Code Explorer.Get Latest Version.Если сопоставление рабочей области не задано, Visual Studio предложит выбрать папку на локальном диске
Visual Studio.Введите в окне командной строки следующую команду:
Tf merge /baseless <исходный путь> <целевой путь> /recursive
Например:
Tf merge /baseless c:\data\proj1 c:\data proj2 /recursive
Если необходимо выполнить слияние конкретных версий изменений, используйте параметр /version:
tf merge /baseless <исходный путь>
<целевой путь> / recursive / version:
< набор изменений, из которого переносятся изменения>~
<набор изменений, в который переносятся изменения>
Например:
tf merge /baseless c:\data\proj1 c:\data\proj2 /recursive /version: C123~C125
При слиянии без основы часто возникают конфликты. После выполнения команды Tf.exe на экран выводится диалоговое окно Resolve Conflicts со списком файлов, в которых возникли конфликты.
Resolve.Resolve version conflict выполните следующие действия:Keep changes in the target branch и щелкните OK.Merge changes in merge tool и щелкните OK.OK в инструменте слияния.Close.На этом этапе изменения, внесенные в результате слияния без основы, возвращаются в систему управления исходным кодом.
Source Code Explorer.Check-in pending changes.Check-In Source Files выделите все файлы, которые подлежат возврату.Check In.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .В Visual Studio 2005 Team Foundation Server нет Continuous Integration, CI ), но имеется вся инфраструктура, необходимая для реализации собственного решения. В этой статье подробно разбирается процесс настройки сборки CI в TFS с помощью решения, предоставленного группой VSTS. Это решение устанавливает веб-службу, выполняющуюся от имени учетной записи с правом доступа к серверу TFS. Благодаря подписке на событие CheckinEvent эта веб-служба будет запускать сборку при каждом возврате правок.
Примечание Пользователи TFS 2008 могут настроить процесс непрерывной интеграции прямо из Visual Studio. Щелкните правой кнопкой описание типа сборки в узле Builds дерева Team Explorer, выберите команду Edit Build Definition, щелкните Trigger и активируйте сборку при возврате правок.
CheckinEvent.TFSBuild и решения группы VSTS.Для повышения качества кода разработчикам необходима постоянная обратная связь по качеству каждого возвращаемого ими изменения. Это особенно важно, когда изменения приводят к сбою сборки и ошибкам компиляции. Чем раньше разработчик получит отзыв, тем быстрее он исправит ошибки и устранит препятствие в работе других разработчиков и тестиров-щиков. В результате повысится производительность всех членов команды.
В такой ситуации особую ценность приобретает непрерывная интеграция - процесс создания сборок при каждом возврате изменений в систему управления исходным кодом. Сборка непрерывной интеграцией обеспечивает максимально быструю обратную связь. Для еще большей эффективности работы в сборки CI можно ввести пороги качества.
CheckinEvent.Убедитесь, что учетная запись, от имени которой выполняется служба сборки, обладает разрешением Start a build на сервере Team Foundation Server.
На начальном этапе мы создадим тестовую сборку и проверим возможность ее выполнения из Visual Studio. Если сборку выполнить не удается, перед переходом к следующему этапу необходимо исправить в ней ошибки.
Microsoft Windows® Forms.Team Explorer щелкните правой кнопкой Team Builds и выберите New Team Build Type.Team Build Type Creation Wizard.Team Explorer щелкните правой кнопкой созданный тип сценария командной сборки.Build Team Project <Имя вашего сценария сборки>.Build.Важно! Убедитесь, что учетная запись TFSService, от имени которой выполняются службы сборки, обладает полным доступом к общей папке для размещения результатов сборки, заданной в Team Build Type Wizard.
Установите решение непрерывной интеграции, предоставленное командой .
При установке в корневой папке сервера уровня приложений TFS создается виртуальный каталог. Это должен быть веб-сайт Internet Information Services (IIS) с именем Team Foundation Server, связанный с портом 8080.
На данном этапе выполняется настройка CI: задается проект, сборка которого будет выполняться непрерывно, сервер сборки и используемый тип сборки.
Чтобы приложение, содержащееся в виртуальном корневом каталоге, выполнялось в пуле приложений TfsAppPool, выполните следующие действия:
Start, Administrative Tools и выберите команду IIS Manager.Team Foundation Server.CI Web Application и убедитесь, что для параметра Application Pool задано значение TfsAppPool.Чтобы настроить процесс непрерывной интеграции, выполните следующие действия:
Web.config для CI Web Application, размещенный в папке C:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\ Web Services\CI\.<appsettings> :TeamFoundationServer - URL уровня приложений, задается в формате http://компьютер:8080.TeamProject - командный проект, для которого активируется непрерывная интеграция.BuildType - тип сборки, который должен использоваться при непрерывной интеграции. Обычно сценарий включает только саму сборку, но сюда можно добавить также базовое тестирование и статический анализ.Build Machine - необязательный параметр, используется для переопределения сервера сборки, заданного в типе сценария сборки по умолчанию.Ниже приведен пример настроек:
… <add key="1" value="TeamServer=http://TFSRTM:8080;TeamProjectName=Adventure Works;BuildType=Test Build"/> …
Подпишитесь на событие CheckinEvent, используя инструмент bisubscribe, поставляемый с TFS.
C:\Program Files\ Microsoft Visual Studio 2005 Team Foundation Server\TF Setup\Bissubscribe /eventType CheckinEvent /address http://TFSRTM:8080/ ci/notify.asmx /deliveryType Soap /domain http://TFSRTM:8080Microsoft SQL Server™ Management Studio.tfsIntegration.tbl_subscription.В этой таблице содержатся записи для всех событий, на которые вы подписаны. Там должна быть и запись о том, что решение CI подписано на событие CheckinEvent. В случае необходимости вы вольны отказаться от подписки на любое из зарегистрированных событий, удалив соответствующую запись из таблицы.
Теперь нужно проверить правильность выполнения CI -сборки.
Windows Forms.Task Manager ) и проверьте степень загрузки центрального процессора этого компьютера. Она должна возрастать после возврата изменений, что свидетельствует о выполнении сборки. В списке процессов должно быть видно, что центральный процессор используется процессами msbuild, csc и (или) aspnet_compiler.Team Explorer щелкните дважды All Build Types и найдите свою сборку.Если сборки нет в списке, выполните следующие действия:
Web.config веб-приложения CI. Подробнее - в шаге 3.CI выполняется в соответствующем контексте и имеет доступ к серверу TFS.Local IIS и выберите из списка веб-приложение CI.notify.cs и создайте точку останова в методе Notify.Windows Forms и верните код в систему управления исходным кодом.Microsoft Internet Explorer включена отладка сценариев. В меню Сервис (Tools) выберите Свойства обозревателя (Internet Options) и перейдите на вкладку Дополнительно (Advanced) . Убедитесь, что флажок Отключить отладку сценариев (Internet Explorer) (Disable Script Debugging (Internet Explorer)) сброшен.Можно настроить оповещение всех заинтересованных сторон о завершении сборки по электронной почте.
Team Explorer щелкните правой кнопкой соответствующий командный проект.Project Alerts.A build completes и введите адрес или адреса электронной почты для рассылки уведомлений.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .В Visual Studio 2005 Team Foundation Server не предусмотрена возможность плановых сборок, но с помощью команды TFSBuild разработчик легко реализует их самостоятельно. В этой статье подробно разбирается процесс настройки плановой сборки с помощью команды TFSBuild и Microsoft Windows®.
Примечание Пользователи TFS 2008 могут настраивать плановые сборки прямо из Visual Studio. Щелкните правой кнопкой мыши описание типа сборки в узле Builds дерева Team Explorer, выберите Edit Build Definition, щелкните Trigger и задайте график выполнения сборки.
TFSBuild.TFSBuild.TFSBuild и Windows.Чрезвычайно важно, чтобы команда разработки проекта регулярно формировала сборки. Это обеспечит ей своевременное получение обратной связи от тестировщиков и других заинтересованных сторон. Такое взаимодействие можно обеспечить за счет плановых сборок. Можно спланировать выполнение сборок каждую ночь, неделю, раз в две недели или по любому другому графику в зависимости от масштабов проекта и предъявляемых требований.
Плановые командные сборки в TFS не поддерживаются, но эту проблему решает утилита TFSBuild, которая позволяет запускать сценарии сборки из командной строки. Используя любой планировщик задач, например, Windows , можно запускать утилиту TFSBuild по определенному графику, создавая сборки через заданные интервалы времени.
TFSBuild.TFSBuild.Убедитесь, что учетная запись, от имени которой выполняется служба сборки, обладает разрешением Start a build на сервере Team Foundation Server.
На начальном этапе мы создадим тестовую сборку и проверим возможность ее выполнения из Visual Studio. Если сборку выполнить не удается, перед переходом к следующему этапу необходимо исправить в ней ошибки.
Microsoft Windows® Forms.Team Explorer щелкните правой кнопкой Team Builds и выберите New Team Build Type.Team Build Type Creation Wizard.Team Explorer щелкните правой кнопкой созданный тип сценария командной сборки.Build Team Project <Имя вашего сценария сборки> .Build.Важно! Убедитесь, что учетная запись TFSService, от имени которой выполняются службы сборки, обладает полным доступом к общей папке для размещения результатов сборки, заданной в Team Build Type Wizard.
Сформируем команду для утилиты TFSBuild, по которой будет запускаться сборка.
TFSBuild необходимо передать ряд параметров:Team Foundation Server - URL сервера TFS, куда возвращаются изменения в собираемых решениях.Team Project - имя командного проекта, сборка которого выполняется.Build Type - тип сборки, созданный на шаге 1.Build Machine - имя сервера, который будет использоваться для сборки проекта. Это необязательный параметр; по умолчанию используется сервер, заданный в типе сборки.Build Directory - путь к папке, в которой выполняется сборка. Это необязательный параметр; по умолчанию используется путь, заданный в типе сборки.TfsBuild start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки> Если требуется переопределить имя компьютера и путь к папке сборки, команда выглядит так: TfsBuild start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки> /m:<ИмяКомпьютера> /d:<ПапкаСборки>
Проверим правильность выполнения команды TFSBuild.
Visual Studio.Для планирования сборок удобно использовать пакетный файл.
Откройте Блокнот (Notepad) и введите следующую команду: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TFSBuild" start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки>
Обратите внимание, что здесь задан полный путь к файлу TFSBuild.exe, чтобы его можно было запускать из окна командной строки Windows. Если требуется переопределить компьютер и папку сборки, команда в пакетном файле будет выглядеть так: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TFSBuild" start <КомандныйПроект> <ИмяТипаСборки> /m:<ИмяКомпьютера> /d:<ПапкаСборки>
.bat, например, batchbuild.bat.TFS, например, Main\Scripts.Проверим работу пакетного файла.
Откройте окно командной строки Windows.
Примечание Не открывайте окно командной строки Visual Studio. По умолчанию планировщик Windows будет выполнять пакетный файл в окне командной строки Windows.
На данном этапе вы добавите задачу для регулярного запуска сборки.
Scheduled Tasks ), затем щелкните Добавить задание ( Add Scheduled Tasks ).Scheduled Task Wizard ) щелкните Далее ( Next ).Next ).Daily ). Затем щелкните Далее ( Next ).Start time ) и Дату начала ( Start date ). Щелкните Далее ( Next ).Start a build и щелкните Далее ( Next ).Finish ).Убедитесь, что сборка выполняется правильно и в заданное время.
Scheduled Tasks ), щелкните правой кнопкой свою плановую задачу и выберите команду Запустить ( Run ).Team Explorer щелкните дважды All Build Types.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .ASP.NET applications.В этой статье подробно разбирается процесс организации и структурирования веб-приложений ASP.NET для Team Foundation Server. Здесь описана рекомендованная структура дерева исходного кода системы управления исходным кодом TFS.
ASP. NET.TFS.В этой статье рассказано, как создавать структуру каталогов системы управления исходным кодом для веб-приложений ASP.NET. Поскольку в веб-проекты ASP.NET часто включаются дополнительные библиотеки классов, это необходимо предусмотреть в структуре. Папки для хранения веб-проектов ASP.NET располагаются в системе управления исходным кодом под папками верхнего уровня /Main/Source. Такая структура позволяет добавлять папки Development и Releases при необходимости создания ветвей для изолированной разработки и обслуживания предыдущих выпусков. Дополнительную информацию о создании структуры каталогов верхнего уровня вы найдете в разделе "Как структурировать папки управления исходным кодом в Visual Studio Team Foundation Server ".
На этом этапе вы создадите на своем компьютере локальную структуру каталогов для веб-проекта. Чтобы обеспечить единый подход к командной разработке и эффективную организацию проектов на своем компьютере, сгруппируйте разрабатываемый исходный код всех командных проектов, над которыми вы работаете, в одной корневой папке, например, C:\Dev-Projects. Если такой папки еще нет на компьютере, создайте ее.
Начните создание веб-приложения ASP.NET с явного создания файла решения Visual Studio (.sln) . Затем добавьте в него свой веб-сайт и все необходимые дополнительные проекты, например, библиотеки классов. Вот как создается решение в папке верхнего уровня C:\DevProjects.
File выберите команду New и щелкните Project.Other Project Types и выберите Visual Studio Solutions.Blank Solution.MyWebAppSln.Location значение C:\DevProjects и щелкните OK. Будет создана папка C:\DevProjects\MyWebAppSln. Visual Studio добавляет в эту папку файл решения (.sln) и файл пользовательских параметров решения (.suo) . Обратите внимание, что на шаге 7 в систему управления исходным кодом добавляется только файл .sln.Теперь добавьте в свое решение веб-сайт ASP.NET. Эта процедура немного варьируется в зависимости от типа веб-сайта, т.е., от того, создается веб-сайт в локальной файловой системе с использованием функций веб-разработки Visual Studio или на веб-сервере с использованием Internet Information Services (IIS) .
Чтобы добавить в решение веб-проект, располагающийся в локальной файловой системе, выполните следующие действия:
Solution Explorer щелкните правой кнопкой решение MyWebAppSln, выберите команду Add и щелкните New Web Site.Add New Web Site не меняйте значения Location (по умолчанию задан вариант File System ) и Language (по умолчанию Visual C# ).Location значение C:\DevProjects\MyWebAppSln\ Source\MyWebAppWeb.OK, чтобы закрыть диалоговое окно Add New Web Site. Обратите внимание, что мы использовали суффикс "Web" в этом примере для четкого обозначения корневой папки веб-сайта.Создание веб-сайта ASP.NET на базе веб-сервера IIS, доступ к которому при разработке будет осуществляться по протоколу HTTP, начинается с явного создания виртуального каталога. Необходимо, чтобы каталог веб-сайта располагался в заданном расположении, а не в папке \inetpub\wwwroot.
Создание виртуального каталога веб-сайта
Windows перейдите в папку C:\DevProjects\MyWebAppSln\ Source.MyWebAppWeb.MyWebAppWeb правой кнопкой и выберите Общий доступ и безопасность ( Sharing and Security ).Web Sharing ).Share this folder ).Alias ), оставьте заданные по умолчанию разрешения доступа и разрешения для приложений и щелкните OK.OK.Добавление веб-сайта в решение
Solution Explorer щелкните правой кнопкой решение MyWebAppSln, выберите Add и щелкните New Web Site.Add New Web Site задайте в поле Location значение HTTP и не меняйте значение Language по умолчанию ( Visual C# ).OK, чтобы закрыть диалоговое окно Add New Web Site. Visual Studio добавит ваши файлы Default.aspx и Default.aspx.cs в папку C:\DevProjects\MyWebAppSln\Source\MyWebAppWeb и создаст дочерние папки Bin и App_Data.Если в веб-приложении используются дополнительные библиотеки классов, добавьте их следующим образом:
Solution Explorer щелкните правой кнопкой решение MyWebAppSln, выберите Add и щелкните New Project.Visual C# и шаблон Class Library.ClassLibrary, в качестве Location задайте C:\DevProjects\ MyWebAppSln\Source и щелкните OK.Все новые проекты будут добавляться в папку Source.
В Solution Explorer проверьте структуру решения. Она должна выглядеть следующим образом:
В проводнике Windows проверьте локальную структуру каталогов. Она должна выглядеть следующим образом:
На данном этапе вы добавите решение в систему управления исходным кодом TFS.
Add Solution to Source Control.Add Solution MyWebAppSln to Source Control выберите свой командный проект.Make New Folder и назовите новую папку Main.Main и щелкните Make New Folder. Назовите новую папку Source.Source и щелкните OK.Проверьте структуру папок в системе управления исходным кодом, дважды щелкнув Source Control в Team Explorer. Структура должна выглядеть следующим образом:

View выберите Other Windows и щелкните Pending Changes. Выберите свой проект и исходные файлы, которые необходимо возвратить, введите комментарий к возвращаемым изменениям и щелкните Check In.Существует два основных варианта использования общего кода в веб-приложениях ASP.NET:
В этом случае вы сопоставляете исходный код из общего каталога, например, из другого командного проекта, с рабочей областью на своем компьютере. При этом конфигурация, объединяющая исходный код из общего каталога с кодом вашего проекта, создается на вашем компьютере.
Преимущество этого подхода в том, что изменения в общем коде переносятся в вашу рабочую область при каждой загрузке последней версии исходного файла. Допустим, у вас имеется командный проект Common, являющийся контейнером для общего исходного кода. Чтобы использовать код этого проекта в другом проекте, вы должны сопоставить оба проекта с общей папкой на компьютере разработчика. Например:
C:\DevProjects\MyWebAppSln\C:\DevProjects\SharedCommon\Используются следующие сопоставления рабочих областей:
| Папка системы управления исходным кодом | Локальная папка |
|---|---|
$/MyTeamProject1/Main/Source/ MyWebAppApp |
C:\DevProjects\MyWebAppSln |
$/MyTeamProject2/Main/Source/Common |
C:\DevProjects\Common |
Дополнительную информацию по этому вопросу вы найдете в статье "Working with multiple team projects in Team Build" по адресу http://blogs. msdn.com/manishagarwal/archive/2005/12/22/506635.aspx.
В этом случае вы создаете в своем командном проекте ветвь для исходного кода из общего командного проекта. При этом также возникает конфигурация, объединяющая исходный код из общей папки и ваш проект. Отличие состоит в том, что изменения общего исходного кода переносятся в процессе слияния ветвей. Таким образом, внесение изменений в общий код становится более явным. Вы сами принимаете решение о слиянии для переноса последних изменений.
В качестве примера опять рассмотрим командный проект Common, являющийся контейнером для совместно используемого кода. Чтобы создать ветвь для общего кода, выполните следующие действия:
Source Control Explorer щелкните правой кнопкой мыши корневую папку командного проекта Common.Branch.Branch в качестве Target задайте корневую папку командного проекта $/MyTeamProject1/Main/Source/ и щелкните OK.Дополнительные ресурсы
Microsoft® Visual Studio® Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .Microsoft Windows® Form ApplicationsВ этой статье подробно разбирается процесс организации и структурирования приложений Windows Form в Team Foundation Server. Описана рекомендованная структура дерева исходного кода в системе управления исходным кодом TFS.
Windows Forms.Windows Forms в решение.Windows Forms.TFS.В статье показано, как создавать структуру каталогов системы управления исходным кодом для приложений Windows Forms. Поскольку в проекты Windows Forms часто включаются дополнительные библиотеки классов и элементов управления, структура должна это учитывать. В системе управления исходным кодом папки для хранения проектов Windows Forms располагаются под папками верхнего уровня /Main/Source. Такая структура позволяет добавлять папки Development и Releases при необходимости создания ветвей для изолированной разработки и обслуживания выпущенных версий. Дополнительную информацию о создании структуры каталогов верхнего уровня вы найдете в разделе "Как структурировать папки управления исходным кодом в Visual Studio Team Foundation Server ".
Windows Forms.Windows Forms в решение.На этом этапе вы создадите на своем компьютере локальную структуру каталогов для проекта Windows Forms. Чтобы обеспечить единый подход к командной разработке и эффективную организацию проектов на своем компьютере, сгруппируйте разрабатываемый исходный код всех командных проектов, над которыми вы работаете, в одной корневой папке, например, C:\DevProjects. Если такой папки еще нет на компьютере, создайте ее.
Начните создание приложения Windows Forms с явного создания файла решения Visual Studio (.sln) . Затем добавьте в него проект Windows Forms и все необходимые дополнительные проекты, например, библиотеки классов или элементов управления. Вот как создается решение в папке верхнего уровня C:\DevProjects.
File выберите команду New и щелкните Project.Other Project Types и выберите Visual Studio Solutions.Blank Solution.MyApp.Location значение C:\DevProjects и щелкните OK. Будет создана папка C:\DevProjects\MyApp. Visual Studio добавляет в эту папку файл решения ( .sln ) и файл пользовательских параметров решения ( .suo ). Обратите внимание, что на шаге 8 в систему управления исходным кодом добавляется только файл .sln.Добавьте проект Windows Forms в свое решение.
Solution Explorer щелкните правой кнопкой решение MyApp, выберите Add и щелкните New Project.Add New Project выберите Visual C# в качестве типа проекта и Windows Application в качестве шаблона.Location значение C:\DevProjects\MyApp\Source.MyWinFormApp.OK, чтобы закрыть диалоговое окно Add New Project и добавить проект.Если в приложении Windows Forms используются дополнительные библиотеки элементов управления, добавьте их следующим образом:
Solution Explorer щелкните правой кнопкой свое решение, выберите Add и щелкните New Project.Add New Project выберите Visual C# в качестве типа проекта и Windows Control Library в качестве шаблона.Location значение C:\DevProjects\MyApp\Source.ControlLibrary.OK, чтобы закрыть диалоговое окно Add New Project.Если в приложении Windows Forms используются дополнительные библиотеки классов, добавьте их следующим образом:
Solution Explorer щелкните правой кнопкой свое решение, выберите Add и щелкните New Project.Add New Project выберите Visual C# в качестве типа проекта и Class Library в качестве шаблона.Location значение C:\DevProjects\MyApp\Source.ClassLibrary1OK, чтобы закрыть диалоговое окно Add New Project.В Solution Explorer проверьте структуру решения. Она должна выглядеть следующим образом:
В проводнике Windows проверьте локальную структуру каталогов. Она должна выглядеть следующим образом:
Добавьте в систему управления исходным кодом TFS свое решение, содержащее проект Windows Forms, а также, возможно, библиотеки классов и элементов управления.
MyApp и выберите Add Solution to Source Control.Add Solution MyApp to Source Control выберите свой командный проект.Make New Folder и назовите новую папку Main.Main и щелкните Make New Folder. Назовите новую папку Source.Source и щелкните OK.Проверьте структуру папок в системе управления исходным кодом, щелкнув дважды Source Control в Team Explorer. При этом откроется Source Control Explorer. Структура папок должна выглядеть следующим образом:

View выберите Other Windows и щелкните Pending Changes. Выберите проект и исходные файлы, которые необходимо возвратить, введите комментарий к возвращаемым изменениям и щелкните Check In.Существует два основных варианта использования общего кода в веб-приложениях Windows Forms:
В этом случае вы сопоставляете исходный код из общего каталога, например, из другого командного проекта, с рабочей областью на своем компьютере. При этом конфигурация, объединяющая исходный код из общего каталога с кодом вашего проекта, создается на вашем компьютере.
Преимущество этого подхода в том, что изменения в общем коде переносятся в вашу рабочую область при каждой загрузке последней версии исходного файла. Допустим, у вас имеется командный проект Common, являющийся контейнером для общего исходного кода. Чтобы использовать код этого проекта в другом проекте, вы должны сопоставить оба проекта с общей папкой на компьютере разработчика. Например:
C:\MyProjects\MyApp\C:\MyProjects\SharedCommon\Используются следующие сопоставления рабочих областей:
| Папка системы управления исходным кодом | Локальная папка |
|---|---|
$/MyTeamProject1/Main/Source/MyApp |
C:\DevProjects\MyApp |
$/MyTeamProject2/Main/Source/Common |
C:\DevProjects\Common |
Дополнительную информацию по этому вопросу вы найдете в статье "Working with multiple team projects in Team Build" по адресу http://blogs. msdn.com/manishagarwal/archive/2005/12/22/506635.aspx.
В этом случае вы создаете в своем командном проекте ветвь для исходного кода из общего командного проекта. При этом также возникает конфигурация, объединяющая исходный код из общей папки и ваш проект. Отличие состоит в том, что изменения общего исходного кода переносятся в процессе слияния ветвей. Таким образом, внесение изменений в общий код становится более явным. Вы сами принимаете решение о слиянии для переноса последних изменений.
В качестве примера опять рассмотрим командный проект Common, являющийся контейнером для совместно используемого кода. Чтобы создать ветвь для общего кода, выполните следующие действия:
Source Control Explorer щелкните правой кнопкой мыши корневую папку командного проекта Common.Branch .Branch в качестве Target задайте корневую папку командного проекта $/MyTeamProject1/Main/Source/ и щелкните OK.Дополнительные ресурсы
Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .Microsoft Visual Studio Team System (VSTS) .В этой статье подробно разбирается процесс организации структуры каталогов TFS. Эти рекомендации основаны на практическом опыте как Microsoft, так и пользователей продуктов корпорации. Представленная здесь структура является лишь ориентиром, гораздо важнее понять, на каких основаниях она построена. Разберитесь с этими основаниями и используйте их при формировании собственной структуры и выработке соглашения о наименовании папок в вашем сценарии.
Development для изоляции разработки (при необходимости).Releases для изоляции выпущенных сборок (при необходимости).В этой статье описывается создание структуры каталогов системы управления исходным кодом, которая подходит для большинства типичных проектов. В представленной структуре есть три папки верхнего уровня:
Main Главная корневая папка, выполняющая роль контейнера для основного дерева исходного кода, а также для артефактов проекта, например, проектной документации, сценариев и тестирования. Также в папке Main располагаются файлы Visual Studio Solution (.sln) .Development Необязательная папка корневого уровня, которая может использоваться для изоляции разработки компонентов или работы отдельных команд. Она создается как ветвь папки Main.Releases Необязательная папка корневого уровня для предыдущих сборок, которые необходимо изолировать от основной разработки, например, чтобы обслуживать выпущенную версию.Представляемая в данной статье структура каталогов выглядит следующим образом:
{
/Main ->Может содержать файлы решений (.sln),
охватывающих несколько проектов
/Source
/MyApp1 ^Содержит файл MyApp1.sln
/Source ^Содержит папку для всего исходного кода
/ClassLibrary1 ^Содержит ClassLibrary1.csproj
/MyApp1Web ^Содержит Default.aspx
/Build ^Содержит результат сборки (двоичные файлы)
/Docs ^Содержит документацию по продукту и пр.
/Tests ^Содержит тесты
/Development
/FeatureBranch1
/Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /FeatureBranch2
/Releases
/Release1 /Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /Release 1.1 /Release 1.2 }
Помните, что эта структура - лишь ориентир с примерным набором папок. Важно, чтобы структура соответствовала сути проекта, а имена папок отражали их назначение. Подробно принципы построения структуры рассматриваются в лекции 5.
Main.Development для изоляции разработки (при необходимости).Releases для изоляции выпущенных сборок (при необходимости).На начальном этапе для описания соответствия между структурой каталогов на сервере TFS и на клиенте создается сопоставление рабочей области. Сначала вы создаете дерево исходного кода в своей рабочей области и затем передаете его на сервер TFS.
Сопоставление рабочей области можно создать двумя способами: явно или выполнив для командного проекта операцию Get.
File Visual Studio выберите Source Control и щелкните Workspaces.Manage Workspaces выберите имя своего компьютера и щелкните Edit.Edit Workspace в списке Working folders щелкните Click here to enter a new working folder.MyTeamProject1 ) и щелкните OK.Local Folder и выберите локальную папку на своем компьютере, в которой вы хотите разместить свой командный проект, например, C:\DevProjects\MyTeamProject1.OK, чтобы закрыть диалоговое окно Edit Workspace.OK в ответ на сообщение Microsoft Visual Studio с информацией об изменении одной или нескольких рабочих папок.Close, чтобы закрыть диалоговое окно Manage Workspaces.Team Explorer разверните узел своего командного проекта, например, MyTeamProject1.Source Control под командным проектом.Source Control Explorer щелкните правой кнопкой корневую папку MyTeamProject1 и выберите команду Get Latest Version.Browse For Folder выберите локальный путь (например, C:\DevProjects\MyTeamProject1 ) и щелкните OK. Корневая папка командного проекта с TFS сопоставлена с локальным каталогом на вашем компьютере.Теперь создадим в системе управления исходным кодом новую корневую папку Main для вашего командного проекта. Она используется как корневой контейнер для исходного кода и других артефактов проекта. В ней также могут располагаться файлы решений Visual Studio (.sln) , охватывающих несколько проектов. Папки решений также хранятся в папках соответствующих приложений, располагающихся на более низком уровне структуры дерева. Чтобы создать папку Main, выполните следующие действия:
Team Explorer разверните свой командный проект и дважды щелкните Source Control.Source Control Explorer выберите корневую папку командного проекта.New Folder.Main и нажмите Enter.Далее в папке Main создаются папки для размещения дерева исходного кода и сопутствующих артефактов, например, сборок, документации, файлов сценариев и тестов:
{ /Main
/Build
/Docs
/Source
/Tests }
Чтобы создать папки для размещения ресурсов проекта, выполните следующие действия:
Source Control Explorer выберите папку Main.New Folder, введите Build и нажмите Enter.Main.Теперь добавим в дерево исходного кода TFS решение Visual Studio (.sln) , проект ( .vsproj, .vbproj ) и исходные файлы.
Поскольку на шаге 1 вы сопоставили корневой узел с папкой C:\ DevProjects\MyTeamProject1, убедитесь, что структуры папок на клиенте и на сервере синхронизированы. Файл решения (.sln) должен находиться в папке C:\DevProjects\MyTeamProject1\Main\Source\MyApp1. Связанные с проектом файлы компонентов MyApp1Web и ClassLibrary1 должны располагаться в папке C:\DevProjects\MyTeamProject1\Main\Source\MyApp1\ Source.
Чтобы добавить решение в дерево исходного кода, выполните следующие действия:
Visual Studio.Solution Explorer щелкните решение правой кнопкой и выберите Add Solution to Source Control. Поскольку сопоставление рабочей области уже было создано на шаге 1, теперь в систему добавляется решение.Local Workspace выбрано правильно. Это должна быть та же рабочая область, что использовалась при создании структуры каталогов в системе управления исходным кодом TFS.OK, чтобы добавить решение в систему управления исходным кодом.Структура каталогов в системе управления исходным кодом должна выглядеть следующим образом:
{
/Main /Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /Build /Docs /Tests }
Дополнительную информацию о настройке структуры каталогов на стороне клиента вы найдете в статьях "Как структурировать приложения Windows в Visual Studio Team Foundation Server " и "Как структурировать приложения ASP.NET в Visual Studio Team Foundation Server ".
Если в проект включены модульные тесты, используйте следующую структуру каталогов, чтобы обеспечить их хранение отдельно от главной папки исходного кода:
{
/Main /Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /UnitTests /Build /Docs /Tests }
Чтобы изолировать работу над компонентом или работу отдельной команды, создайте папку Development путем ветвления папки Main. Помните, что перед ветвлением необходимо возвратить все изменения.
Чтобы создать ветвь Development, выполните следующие действия:
Development (на одном уровне с Main ).FeatureBranch1.Щелкните папку $/TeamProject/Main/Source правой кнопкой и выберите команду Branch.
Примечание Если команда Branch недоступна, проверьте, все ли изменения возвращены.
Branch щелкните Browse, выберите MyTeamProject/ Development/FeatureBranch1 и щелкните OK.OK, чтобы создать ветвь.Структура каталогов в системе управления исходным кодом теперь должна выглядеть следующим образом:
{ /Development
/FeatureBranch1 /Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /FeatureBranch2
/Main /Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /Build /Docs /Source /Tests }
Если параллельно с основной разработкой требуется обслуживать ранее выпущенные версии, изолируйте работы по обслуживанию, создав папку Releases. В ней можно создавать подпапки для каждой выпущенной версии. Чтобы создать ветвь Releases, выполните следующие действия:
Releases (на одном уровне с папками Main и Development ).Release1.Щелкните папку $/TeamProject/Development/Source правой кнопкой и выберите Branch.
Примечание Если команда Branch недоступна, проверьте, все ли изменения возвращены.
Branch щелкните Browse, выберите $/TeamProject/ Maintenance/Release1 и щелкните OK.Branch from version в списке By щелкните Label и введите имя метки в одноименное поле. Чтобы выбрать метку, щелкните кнопку с многоточием рядом с полем Label.OK, чтобы создать ветвь.Новая структура каталогов в системе управления исходным кодом должна выглядеть следующим образом:
{
/Main /Source /MyApp1 /Source
/MyApp1Web /ClassLibrary1 /Build /Docs /Source /Tests
/Releases
/Release1 /Source /MyApp1 /Source
/MyApp1Web
/ClassLibrary1 /Release 1.1 /Release 1.2 }
При создании структуры каталогов в TFS учитывайте следующие рекомендации:
Visual Studio (.sln) , содержащего все файлы проекта. При таком сценарии в папке Main размещается файл .sln и подпапки для каждого файла проекта (.vsproj, .vbproj) . В нашем примере папками проектов являются MyApp1, MyApp2 и т. д. Такой подход может также использоваться и при наличии одного файла проекта, в частности, если имеется только файл проекта без файла решения..sln могут размещаться в папке Main.Дополнительные ресурсы
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.