I would like to have a separate release management server for TFS 2018. I can't find any documentation that tells me how to do this. In older versions of TFS, it was a separate install, but I am not seeing anything in the 2018 version.
Release Management Server is deprecated. It has not received updates since TFS 2015, and will not receive updates going forward.
Since TFS 2015, the Release hub is a first-class part of TFS. You can find it under the "Build and Release" section.
Related
We are looking to carry out the following TFS upgrades in our Production environment:
Upgrade TFS 2010 to TFS 2013.5
Upgrade TFS 2013.5 to TFS 2019
To support both migrations, we have a Windows Server 2019 Standard edition to host the Application Tier. The Data Tier is to be installed on a dedicated SQL box.
The Microsoft website however lists Windows Server 2012 (Essentials, Standard, Datacenter) as the latest server operating system edition required for TFS 2013.
My question therefore is, can we still perform this planned upgrade to TFS 2013 on a newer edition of Windows Server, in our case Windows Server 2019 Standard edition?
I agree with Daniel, please follow the documentation exactly.
Since you can upgrade from TFS 2010 --> TFS 2012.3 --> TFS 2019, or from TFS 2010 --> TFS 2013.5 --> TFS 2019, you could consider trying to upgrade from TFS 2010 to TFS 2012.3 or TFS 2013.5 on the same Windows Server 2008 R2 Enterprise server, and then migrate to Windows Server 2019 Standard edition when upgrade to DevOps Server 2019.1.1(TFS 2019.1.1).
"Supported" means "tested and known to work". Later OS versions haven't been tested and may not work, or TFS may not even install in the first place.
I've done dozens of TFS upgrades in my day. My suggestion is to follow the documentation provided by Microsoft exactly. If an OS isn't listed as a supported OS, then don't use that OS.
So after much to-ing and fro-ing and numerous debates and suggestions from various sources on Stackoverflow, in the end this is how I managed to successfully complete my migration upgrade from TFS 2010 to Azure DevOps Server (TFS) 2019.1
There are however 5 very important points I wish to emphasise:
This was a complete migration upgrade (not an In-place upgrade) and so each move to a later TFS version was done using new/replacement hardware.
Both upgrades were done, based on the excellent YouTube tutorial by Mohamed Radwan which can be found here and relies heavily on the TFSBackup and TFSRestore utilities, both of which have shipped with all versions of TFS, I believe since the 2012 edition.
I only migrated the TfsConfiguration database and our Project database.
There was no migration of SharePoint.
There was no migration of Reporting Services.
We had no scheduled backups set up in the TFS 2010 Admin console.
TFS 2010 to TFS 2013 - Some Useful Points to Note
The backup of my TFS 2010 databases were executed from the Tools directory of the TFS 2013 instance (once installed), on the new dedicated hardware for my app tier.
Following a successful database restore using the TFSRestore utility, there are generally three key tasks required which use the TFSConfig tool to ensure data integrity between the two TFS instances aren't compromised or corrupted. These are the PrepareClone, ChangeServerID and RemapDB tasks executed in this same order.
The PrepareClone task failed when executed and after days of trying to troubleshoot the issue, I gave up in the end due mainly to the fact that the PrepareClone command removes information about scheduled backups, SharePoint, and Reporting resources from an Azure DevOps Server deployment and is used in two circumstances:
When you move a deployment to new hardware but want to keep using the old deployment.
When you clone an Azure DevOps Server deployment.
We didn't have any scheduled backups, SharePoint or Reporting Services included within the scope of our migration and were certainly not planning to keep using the old deployment long-term, except for a few days of validation and testing of the migration upgrade. As such, I ignored the error.
I was also counting on the fact that if the ChangeServerID command run successfully, this would ensure that the two instances were now discrete anyway, having been assigned unique GUIDs. Fortunately, the ChangeServerID task succeeded.
I also then executed the RemapDB command but in truth this wasn't even required as the ChangeServerID command had already completed the remapping task.
From this point on, the migration went like a dream and there was absolutely no issues encountered. Another key point to add, the backup of our TFS 2010 instance was done only after I'd ensured there was no user logged onto the system and following the backup, I took the 2010 instance completely offline.
TFS 2013 to Azure DevOps Server (TFS) 2019.1 - Some Useful Points to Note
Again using the TFSBackup and TFSRestore utilities (this time from the Azure DevOps Server 2019.1 Tools directory) and pretty much repeating the steps for the previous migration upgrade, I managed to get us onto our target 2019 instance without single hitch.
Even better, with Azure DevOps 2019, the TFSConfig PrepareClone, ChangeServerID and RemapDB tasks have been incorporated into the app tier configuration wizard, meaning you're not required to manually run them from the commandline. The tool takes care of it for you in its entirety, which is excellent!!
The new Pre-Production Upgrade option enabled me to simulate and somehow perform a dry-run of the final upgrade, another excellent feature incorporated into the Server Configuration Wizard for Azure DevOps Server 2019.1
My Concluding Remarks
Judging by how easy and simple it was to use, its heavy use of automation and clearly being far less likely to result in any disaster, I am rather surprised the TFSBackup and TFSRestore tools aren't recommended as perhaps the current best migration options, subject of course to the type of migration targeted.
I have done TFS upgrades in the past which were based on the older process of quiescing the project collection, detaching and re-attaching the database(s) to the target instance, etc, etc and must admit there's hardly any chance I'd be going back to that in future if I can help it, as the TFSBackup and TFSRestore tools are a much, much better, safer and reliable option in my view.
Hopefully, this feedback will help the next person who may embark on a similar journey to upgrade TFS from the 2010 edition to a later version.
The version of ours is 16.131.27701.1:
According to https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts I should see the Pipelines menu somewhere. I guess our TFS is too old, so which version do we need and are there any known regressions between the version we have and the one with the pipelines?
Pipelines are comprised of the build and release features, which are available under their respective menus in on-prem TFS. They were renamed to "Pipelines" when VSTS was rebranded as "Azure DevOps".
However, TFS 2018 does not support YAML builds. You will have to use the visual designer.
To answer the "What version supports build/release" more generally:
TFS 2008 introduced a build system that used MSBuild files.
TFS 2010 introduced a build system that was based off of XAML and Windows Workflow.
TFS 2015 RTM introduced a build system that was based off of JSON files. This is the first truly cross-platform build system.
A future version of TFS / Azure DevOps Server will support YAML build.
As for release:
TFS 2015 Update 2 introduced the first native release management tool. Prior versions had a separate client/server application called Release Management Server. It was first released for TFS 2013, but supported older versions.
So, in essence, TFS has supported builds since TFS 2008 and release management since TFS 2013.
We installed the newest TFS Server (TFS 2018 Update 2) which should run xaml builds.
After the update, we started our agent, but our xaml-controller is still offline and I don't know how I start this again..
Any ideas what we can do?
Yes, you can now upgrade to TFS 2018 Update 2 and continue to connect
your XAML controllers and run XAML builds. When we removed support for
XAML build in TFS 2018 RTW and Update 1, some of you could not upgrade
due to having legacy XAML builds, and we want to unblock you. Although
TFS 2018 Update 2 supports XAML builds for your legacy builds, XAML
build is deprecated and there will be no further investment, so we
highly recommend converting to a newer build definition format. See
the Evolving TFS/Team Services build automation capabilities blog
for more information about XAML build deprecation.
When you upgrade to TFS 2018 Update 2:
If you have any XAML build data in your team project collection,
you'll get a warning about the deprecation of XAML build features.
You will need to use VS or Team Explorer 2017 to edit XAML build
definitions or to queue new XAML builds.
If you need to create new XAML build agents, you’ll need to install
them using the TFS 2015 build agent installer.
XAML Build Controller/Agent info is now under Additional Tools and Components > XAML Build Configuration in the TFS Administration Console. Make sure your build services on the same server as your application tier. You possibly didn't re-configure your XAML build services after the upgrade. Try this and then check again.
Thanks #PatrickLu-MSFT!! through your help, we found a workaround.
Now we use one server for the Source Control etc. (TFS 2018) and another server only for the xaml-app-controller with TFS 2015.
So we can build our projects, and have time to create new build definitions.
Basically we have existing TFS 2013 running in PROD, can we just install TFS 2018 in a new machine and restore the DB?
Please guide me with the upgrade from 2013 to 2018
I'm afraid your SQL Server version doesn't meet TFS 2018's requirement. As TFS 2018 only supports SQL Server 2017 and SQL Server 2016 (minimum SP1).
You need to go through article Upgrade your deployment to the latest version of TFS before doing upgrade. And follow the steps in article Upgrade scenario walkthrough for Team Foundation Server to upgrade your TFS. Summarize the steps here:
Prepare your environment. The first step is to check the system requirements for TFS 2018. Upgrade SQL Server is
necessary for your scenario. Including SQL Server, you also need to check other system
requirements and prepare the environment.
Expect the best, prepare for the worst. You must have a complete and consistent set of database backups in case something
goes wrong.
Do the upgrade. Once the preparation is done, you'll need to install the new version of TFS to get new binaries, and then run
through the upgrade wizard to upgrade your databases.
Configure new features. Depending on what version you upgraded from, you may need to configure each team project to gain access
to some of the new features made available.
Here is a useful blog for your reference:
https://blogs.msdn.microsoft.com/rob/2016/12/22/upgrading-from-tfs-2013-to-tfs-2017/
Even if the detach/attach upgrade is possible, it is not recommended to go that way and you could find more details here and here why is that. You could still go that route but at least you would be aware of the possible issues.
For the safest way to go here, would be to make an actual upgrade of your systems from TFS 2013 to TFS 2018. However, due to the TFS requirements, you would have to make something like that approach to make it possible:
From TFS 2013 upgrade to either TFS 2015 or TFS 2017. Based on your current SQL Server that you are using, if that is SQL Server 2012 you would have to go first to TFS 2015, upgrade your SQL Server to be SQL Server 2016 (minimum SP1), and afterwards proceed with the second upgrade to TFS 2018.
I want to move the whole team project data(source files and work items…) from TFS 2008 to TFS 2015. Can anybody tell me the detailed step by step process, as I have never done migration within TFS versions?
You would need to do a upgrade for your TFS. Direct upgrade to TFS 2015 is supported only from TFS 2010 and newer. If your TFS deployment is on an older version than that, you will need to upgrade to TFS 2015 in multiple hops. For your scenario, you are on TFS 2008 you could upgrade to TFS 2010 or TFS 2012 first and then to TFS 2015.
The general process for upgrading an existing deployment of Team Foundation Server is to:
Prepare your environment. New system requirements may require you to upgrade hardware or software.
Expect the best, prepare for the worst. The single most important step you can take here is to ensure you have a complete and consistent set of database backups.
Do the upgrade!
Configure new features. Depending on what version you upgraded from, you may need to configure each team project to gain access to some of the new features made available.
Walk through an upgrade from TFS 2005 to TFS 2015.