Content deleted Content added
Undid revision 967886019 by 2605:8D80:4E0:90DA:F81C:B912:DD3B:EDBA (talk) |
article not exist |
||
(48 intermediate revisions by 43 users not shown) | |||
Line 1:
{{short description|Source code management software}}
{{Infobox software
| name = Azure DevOps Server
| logo = Windows Azure logo.png
|
|
|
| developer = [[Microsoft]]
| released = {{Start date and age|2005}}
| latest release version =
| latest release date = {{Start date and age|
| operating system = [[Microsoft Windows]]
| language =
| genre = [[Application lifecycle management]]
| license = [[Trialware]]
}}
'''Azure DevOps Server''',
==On-premises vs. online==
Azure DevOps is available in two different forms: on-premises ("Server") and online ("Services").<ref>{{cite web|url=https://codefresh.io/learn/azure-devops/|title=What Is Azure DevOps? Services, Examples, and Best Practices|website=codefresh.io}}</ref> The latter form is called [[Azure DevOps Services]] (formerly Visual Studio Online before it was renamed to Visual Studio Team Services in 2015). The cloud service is backed by the [[Microsoft Azure]] cloud platform. It uses the same code as the on-premises version of Azure DevOps, with minor modifications, and implements the most recent features
|publisher=1105 Media
|year=2013
|url=http://visualstudiomagazine.com/articles/2013/05/10/new-visual-studio-release-cadence-begins.aspx
|title=New Release 'Cadence' Begins with Visual Studio 2012 Update 2
|
}}</ref>
Line 39 ⟶ 36:
|url=http://msdn.microsoft.com/en-us/library/cc645581(v=sql.110).aspx
|title=Availability Enhancements (Database Engine)
|
}}</ref> The primary container is the project collection. A project collection is a database that contains a group of Team Projects. The Project Collection is another scalability mechanism, in that each collection can be placed on different SQL Servers or SQL Server instances. 'Oe' configuration database per Azure DevOps instance stores project collection metadata. Data from the project collection databases is aggregated into the warehouse database, which denormalizes the data in preparation for loading into an Analysis Services cube. The warehouse and the cube allow complex trend reporting and data analysis.
Line 47 ⟶ 44:
|url=http://msdn.microsoft.com/en-us/library/vstudio/ms252473.aspx
|title=Team Foundation Server Architecture
|
}}</ref> To support teams requiring enterprise project scheduling, Azure DevOps also integrates with [[Microsoft Project Server]], which allows enterprise level portfolio management, resource management and project tracking.
===Extensibility===
Microsoft provides two
|publisher=Microsoft
|year=2013
|url=http://msdn.microsoft.com/en-us/library/vstudio/ms181334.aspx
|title=Set alerts, get notified when changes occur
|
}}</ref> When used in an extensible scenario, these alerts can be sent to a web service, triggering actions to alter or update work items (such as implementing advanced business rules or generating work items programmatically based on a given scenario).
Line 64 ⟶ 61:
|url=http://msdn.microsoft.com/en-us/library/bb286956(v=vs.90).aspx
|title=How to create an adapter
|
}}</ref> With the introduction of TFS 2012, custom add-ins can also be created for Team Web Access, called '''Web Access Extensions'''.
===Clients===
Azure DevOps supports Visual Studio 2010 and later,
|publisher=Microsoft
|year=2012
|url=http://visualstudiogallery.msdn.microsoft.com/b5b5053e-af34-4fa3-9098-aaa3f3f007cd
|title=Microsoft Visual Studio Team Foundation Server 2012 MSSCCI Provider
|
}}</ref> These tools provide full access to the features in Azure DevOps.
Line 85 ⟶ 82:
|url=http://msdn.microsoft.com/en-us/library/vstudio/hh301769.aspx
|title=Request and review feedback
|
}}</ref> This tool allows users to exercise an application, annotate what they are seeing with audio and video, capture screens and provide contextual feedback to the development team. This provides specific feedback on the functions of an application from a users’ perspective without requiring meetings and demonstration sessions. Azure DevOps also provides for command line tools for both Unix and Windows environments. The Power Tools for TFS include a [[Windows shell]] integration that allows users to check files in and out, add files and perform other basic tasks by right-clicking on a file or folder.
Line 94 ⟶ 91:
|url=http://tedgustaf.com/blog/2011/1/how-to-customize-tfs-2010-work-items-and-workflows/
|title=How to customize TFS 2010 work items and workflows
|
|archive-date=2013-10-19
}}</ref> Work items are combined into a '''Process Template''' that contains these and other pieces of information to provide a development framework. Azure DevOps includes Process Templates for the [[Microsoft Solutions Framework]] for Agile, Scrum and CMMI. Teams can choose to use a built-in template or one of the many templates available for use created by third parties. Process templates can be customized using the Process Template Editor, which is part of the Power Tools.<ref>{{cite web▼
|archive-url=https://web.archive.org/web/20131019045206/http://tedgustaf.com/blog/2011/1/how-to-customize-tfs-2010-work-items-and-workflows/
|url-status=dead
▲ }}</ref> Work items are combined into a '''Process Template''' that contains these and other pieces of information to provide a development framework. Azure DevOps includes Process Templates for the [[Microsoft Solutions Framework]] for Agile, Scrum and CMMI. Teams can choose to use a built-in template or one of the many templates available for use created by third parties. Process templates can be customized using the Process Template Editor, which is part of the Power Tools.<ref>{{cite web
|publisher=Microsoft
|year=2013
|url=http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f
|title=Microsoft Visual Studio Team Foundation Server 2013 Power Tools
|
}}</ref>
Line 108:
==Source control==
Azure DevOps supports two different types of [[source control]]
===Team Foundation Version Control===
{{anchor|TFVC}}
TFVC is a centralized version control system allowing teams to store any type of artifact within its repository.<ref name="MSD-TFVC">{{cite web |title=Team Foundation Version Control (TFVC) |department=Azure DevOps |url=https://docs.microsoft.com/azure/devops/repos/tfvc/index |website=[[Microsoft Docs]] |
|publisher=Phil Kelley
|year=2013
|url=http://blogs.msdn.com/b/phkelley/archive/2013/05/29/server-workspaces-vs-local-workspaces.aspx
|title=Server workspaces vs. local workspaces
|
}}</ref> Server workspaces allow developers to lock files for check-out and provide notification to other developers that files are being edited. A frequent complaint for this model is that files on the development machine are marked as read-only. It also requires developers to "go offline" when the server can't be contacted. Local workspaces were designed to avoid these problems. In a local workspace scenario files are not read-only and they do not have to be checked out before working on them. As long as the files are on the developer's local machine, it doesn't matter if the server is connected or not. Conflicts are dealt with at [[revision control|check-in]] time.
Line 125:
|url=http://msdn.microsoft.com/en-us/library/ee248710.aspx
|title=How to: Install Team Foundation Proxy and set up a remote site
|
}}</ref> Proxy servers allow source control contents to be cached at a site closer to the developers to avoid long network trips and the associated latency. Check-ins are still performed directly against the Azure DevOps application tier so the Proxy Server is most beneficial in read scenarios.
As part of the source control engine, Azure DevOps supports a number of features to help developers ensure the code that is checked in follows configurable rules. This rule engine is called a Check-in Policy. There are several out of the box policies such as the Changeset Comments Policy which will not allow a check-in unless the developer enters a check-in comment. These policies are extensible and can be used to examine all aspects of the code being checked in, the comments and the related work items. Azure DevOps also supports a Code Analysis feature that when used independently is known as [[FxCop]]. The inclusion in Azure DevOps means that the analysis can run against code checked into the server and during automated builds.
The Azure Repos extension for [[Visual Studio Code]] supports TFVC.<ref>{{cite web |title=Team Foundation Version Control (TFVC) Support |url=https://github.com/microsoft/azure-repos-vscode/blob/master/TFVC_README.md |department=Azure Repos Extension for Visual Studio Code |website=[[GitHub]] |
===Git===
Line 138:
|url=https://github.com/libgit2/libgit2
|title=GitHub libgit2/libgit2
|
}}</ref> library. This is the same library that powers the popular [[GitHub]] and the code is freely available from GitHub. Because Microsoft took the approach of using a standard library, any Git client can now be used natively with Azure DevOps (in other words, developers can use their favorite tools and never install the standard Azure DevOps clients). This allows tools on any platform and any IDE that support Git to connect to Azure DevOps. For example, both [[Xcode]] and [[Android Studio]] support Git plug-ins. In addition, if developers do not want to use Microsoft's Team Explorer Everywhere plug-in for [[Eclipse (software)|Eclipse]], they can choose to use eGit<ref>{{cite web
|publisher=Eclipse
Line 144:
|url=http://www.eclipse.org/egit/
|title=EGit
|
}}</ref> to connect to Azure DevOps.
Using Git does not preclude the benefit of using Azure DevOps work item or build system. When checking code in with Git, referencing the work item ID in the check-in comment will associate the check-in with the given work item. Likewise, Team Build will also build Git projects.
One of the major reasons to use Azure DevOps as a Git repository is that it is backed by SQL Server and is afforded the same protection as Team Foundation Version Control (TFVC){{clarify|date=September 2024}}. This gives developers some choices when choosing the type of project and work style that works best for them.
==Reporting==
Line 157:
|url=http://msdn.microsoft.com/en-us/library/ms244687.aspx
|title=Components of the TFS data warehouse
|
}}</ref> (Tfs_Warehouse) which is a relational database and a SQL Server Analysis Services data cube.<ref>{{cite web
|publisher=Microsoft
Line 163:
|url=http://msdn.microsoft.com/en-us/library/ms244710.aspx
|title=Perspectives and measure groups provided in the Analysis Services cube for Team System
|
}}</ref> Both of these sources are available for reporting through SQL Server Reporting Services when this option is installed. Since these are standard database and cube structures, any tool which can point to these data sources can report from them. This includes tools such as Cognos, Tableau, Excel and other reporting tools. Included with each out of the box process template is a set of reports for reporting services which cover Build information, Test results and progress, project management, agile reports (Backlog Overview, Release Burndown, Sprint Burndown and Velocity), bug and issue data. New reports can be created using Report Builder for SSRS and any of the existing reports can be modified.
Line 171:
==Team Build==
Team Build (prior to TFS 2015) is a build server application included with Team Foundation Server. Two components make up Team Build
Windows Workflow controls the overall flow of the build process and Azure DevOps includes many pre-built workflow activities for managing common tasks that are performed during a build.<ref>{{cite web
Line 178:
|url=http://msdn.microsoft.com/en-us/library/vstudio/gg265783.aspx
|title=Team Foundation Build Activities
|
}}</ref> MSBuild is the markup language that is found in the .proj (csproj for C# projects and vbproj for Visual Basic projects) files. The build system is extensible with users being able to create their own workflow activities, the ability to inject MSBuild into the process and to execute external processes. The workflow nature of the build allows for unlimited flexibility, but it may take some work to achieve that flexibility. Shared<ref>{{cite web
|publisher=Codeplex
Line 184:
|url=http://tfsbuildextensions.codeplex.com/
|title=Community TFS Build Extensions
|
|archive-date=2013-10-11
}}</ref> and open source projects have been started to build community backed activities to enhance the capabilities of Team Build.▼
|archive-url=https://web.archive.org/web/20131011050816/http://tfsbuildextensions.codeplex.com/
|url-status=dead
▲ }}</ref> and open source projects have been started to build community backed activities to enhance the capabilities of Team Build.
The build process can be configured for various types of builds including scheduled builds, [[continuous integration]], gated check-in and rolling builds. A gated check-in build will shelve code that a developer checks in, perform a "get latest" on the server code and perform a build. If the build succeeds, the code is checked in on behalf of the developer who submitted the code. If the build fails, the developer is notified and can fix the code before trying another check-in.
Line 191 ⟶ 194:
Builds have retention policies with them so that they do not accumulate when not needed (or builds can be directed not to produce any saved output) or build output can be locked and saved forever. New with TFS 2013 is the ability to check in the build results into source control. This was a necessary enhancement to support automated builds on the Azure DevOps Services where there is no drop ___location to place the builds. In the on-premises version build output can be configured to end up in any accessible shared folder ___location.
The build process in Azure DevOps is also part of the traceability mechanism in that Team Build brings together many of the artifacts that are created and stored in Azure DevOps. Assuming developers associate source code with work items on check-in, Team Build has the ability to report on the changes in each build
Initially, in TFS 2015 and with Visual Studio Team Services (VSTS), Microsoft has reinvented the architecture for the build engine to be based on a cross-platform friendly Node.js application. Windows, Mac, and Linux build agents are currently supported. Azure DevOps provides for elastic build capabilities via build hosting in Microsoft Azure.<ref>{{cite web
Line 198 ⟶ 201:
|url=https://azure.microsoft.com/
|title=Microsoft Azure - Portal
|
}}</ref>
Line 207 ⟶ 210:
|url=https://thenextweb.com/microsoft/2013/06/03/microsoft-acquires-inrelease-adding-continuous-deployment-to-visual-studio-team-foundation-server/
|title=Microsoft acquires InRelease, adding continuous deployment to Visual Studio, Team Foundation Server
|
}}</ref> InRelease was fully incorporated into Team Foundation Server 2013. This capability complemented the automated build and testing processes by allowing a true [[continuous delivery|continuous deployment]] solution. The tools were re-branded "Release Management" for TFS 2013. The Release Management capabilities give teams the ability to perform a controlled, workflow (provided by [[Windows Workflow Foundation]]) driven release to development, test and production environments and provides dashboards for monitoring the progress of one or more releases.
Line 213 ⟶ 216:
== History ==
This first version of Team Foundation Server was released March 17, 2006.<ref>{{cite web |last=Taft |first=Darryl K. |date=2006-03-16 |url=https://www.eweek.com/development/microsoft-announces-release-of-team-foundation-server |title=Microsoft Announces Release of Team Foundation Server |department=Development |website=[[eWeek]] |publisher=[[Ziff Davis]] |
{| class="wikitable sortable"
|-
Line 219 ⟶ 222:
!Form
!Release year
!Version Number <ref>{{Cite web|last=kexugit|title=What version of Team Foundation Server do I have?|url=https://docs.microsoft.com/en-us/archive/blogs/tfssetup/what-version-of-team-foundation-server-do-i-have|access-date=2020-08-26|website=docs.microsoft.com|date=21 November 2013 |language=en-us}}</ref><ref>{{Cite web|last=|title=Azure DevOps Feature Timeline|url=https://docs.microsoft.com/en-us/azure/devops/release-notes/features-timeline#azure-devops-server-build-numbers|access-date=2021-02-15|website=docs.microsoft.com|language=en-us}}</ref>
|-
|Team Foundation Server 2005
|On-premises
|2006
|8
|-
|
|On-premises
|2008
|9
|-
|Team Foundation Server 2010<ref>{{cite web |url=https://news.microsoft.com/2008/09/29/microsoft-unveils-next-version-of-visual-studio-and-net-framework/ |title=Microsoft Unveils Next Version of Visual Studio and .NET Framework |website=Company News |publisher=[[Microsoft]] |date=2008-09-29 |
|On-premises
|2010
|10
|-
|Team Foundation Service Preview
|Cloud
|2012
|
|-
|Team Foundation Server 2012
|On-premises
|2012
|11
|-
|Visual Studio Online<ref>{{cite web |first=Peter |last=Bright |date=2013-11-12 |url=https://arstechnica.com/information-technology/2013/11/microsoft-takes-development-into-the-cloud-with-visual-studio-online/ |title=Microsoft takes development into the cloud with Visual Studio Online |department=Information Technology |website=[[Ars Technica]] |publisher=[[Condé Nast]] |
|Cloud
|2013
|
|-
|Team Foundation Server 2013
|On-premises
|2013
|12
|-
|Team Foundation Server 2015
|On-premises
|2015
|14
|-
|Visual Studio Team Services
|Cloud
|2015
|
|-
|Team Foundation Server 2017
|On-premises
|2017
|15
|-
|Team Foundation Server 2018
|On-premises
|2017
|16
|-
|Azure DevOps Services<ref>{{cite web |last=Cool |first=Jamie |date=2018-09-10 |url=https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ |title=Introducing Azure DevOps |department=Blog |website=[[Microsoft Azure]] |publisher=[[Microsoft]] |
|Cloud
|2018
|
|-
|Azure DevOps Server 2019<ref>{{cite web |last=
|On-premises
|2019
|17
|-
|Azure DevOps Server 2020
|On-premises
|2020
|18
|-
|Azure DevOps Server 2022<ref>{{cite web |last=Morales|first=Gloridel |date=2022-12-06 |url=https://devblogs.microsoft.com/devops/now-available-azure-devops-server-2022-rtw/ |title=Now available: Azure DevOps Server 2022 RTW |department=Blog |website=Azure DevOps Blog |publisher=[[Microsoft]]}}</ref>
|On-premises
|2022
|
|}
Line 276 ⟶ 303:
* [[Comparison of version-control software]]
* [[Comparison of issue-tracking systems]]
* [[Microsoft Teams]]
* [[Microsoft Visual SourceSafe]] (VSS)
* [[List of version-control software]]
* [[Rational Team Concert]]
* [[SVNBridge]], a Windows client or server side extension to TFS that allows access to TFS revision controlled items from [[Subversion (software)|Subversion]] client applications.
==References==
Line 287 ⟶ 314:
==External links==
* {{Official website}}
{{Version control software}}
{{Microsoft Azure Services Platform}}
{{Microsoft}}
[[Category:Proprietary version control systems]]
[[Category:Microsoft Visual Studio]]
Line 317 ⟶ 335:
[[Category:Load testing tools]]
[[Category:Java development tools]]
[[Category:Task management software]]
|