Using tfs 2015 and tfs 2018 agents in the same machine - tfs

I was working with Team Foundation Server 2015 where I had some releases configured for some environments (env1, env2, ...).
I installed TFS 2018 in a different machine. I migrated the code and I have completed the creation of a build definition.
I'd like to configure a release, using the old TFS 2015 environments. Can I install a TFS 2018 Agent, in the environments where I had installed the TFS 2015 agents?
In this way both of the agents would work without issues? The TFS 2015 Agent would work with TFS 2015 and the TFS 2018 Agent would work with TFS 2018 (both in the same machine).
I want to do this because my team is still working with TFS 2015, but as I am still setting up and testing TFS 2018 build/releases, I'd like TFS 2015 to work flawless (whithout any issue) while I am setting up and using TFS 2018 (with TFS 2018 Agents).

Different versions of agents can easily work on the same machine. As long as you keep the rule of thumb of 1 cpu core for the system and 1 cpu core per agent.
I have had multiple versions of agents running before on the same build machine without any issue. The only problem would be to try and connect an agent with 1.* versions to TFS 2018, since that wouldn't work, but since that is not what you are asking for, I would say that you are good to go :-)

Related

TFS Build 2018 with TFS 2015 Server, is it possible?

We cannot update TFS 2015 to TFS 2018 because we have SQL 2012 and TFS 2018 need a higher version. It will take another 6-8 months before we upgrade SQL 2012 to SQL 2016 or latest.
My question is, Can I do TFS Build 2018 with TFS 2015 Server, is it possible? I am not sure about it.
Thanks.
The answer is "Yes, but it would be a huge pain and be an awful, hacky process". I started to write some of it out, and then I realized that there's no point in doing it.
You need an installation of TFS 2018 to use any of its features.
That requires SQL 2016.
That means you'd have to stand up an entire new instance of TFS.
At that point, you might as well just stand up new hardware/VMs and do a migration upgrade.
To summarize:
Q: Can I use TFS 2018 build with TFS 2015?
A: Not without installing a new instance of TFS 2018.
Q: Can I use TFS 2018 without SQL Server 2016?
A: No.

Upgrade from TFS 2013 Update 5 to TFS 2018

I am not aware of any documentation for upgrade of TFS. We are planning with New infra instead of inplace.
What are the pre-requists for same? what utilities i will require to move comeplete data from 2013 to 2018?
Most importantly, if i migrate from 2013 to 2018 will my users will loose all their workitems mappings to test cases in MTM or it will be same?
Upgrade is a full data transfer. You will have all data in the previous TFS.
As TFS 2018 only supports SQL Server 2017 and SQL Server 2016 (minimum SP1), upgrade SQL Server is necessary.
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/
Here are the System Requirements that you would have to cover to be able to upgrade. Some of them for your case are:
Client operating systems:
TFS 2018 Windows 10 (Professional,Enterprise) Version 1607 or greater
TFS 2013 Windows 8.1 (Basic, Professional, Enterprise)
Windows 7 (minimum SP1) (Home Premium, Professional, Enterprise,
Ultimate)
SQL Server:
TFS 2013 Update 4 - SQL Server 2014 or SQL Server 2012 (minimum SP1)
TFS 2018 - SQL Server 2017 or SQL Server 2016 (minimum SP1)
This means that you would have to upgrade your current TFS at least once prior going to TFS 2018. This would include upgrading your SQL Server and change your current OS. The options would be either TFS 2015 Update 3 or later, or TFS 2017 based on your preferences.
To be aware of what's new in the TFS systmes after TFS 2015, you could take a look at TFS page "What's new".
The similar question here: TFS 2012 to TFS 2018 Migration/Upgrade Path.
So you may do upgrade from 2013 to 2018, but you have to consider new requirements for Operating system and SQL Server, deprecated xaml build, new work item form. Any existing links between work items (requirements, tasks, tests) will be same.
In my opinion you can do inplace update if your OS in list with requirements. Detailed steps here: Upgrade to Team Foundation Server (TFS) 2017

How to restore TFS 2015 DB on TFS 2018?

I did a pre-production upgrade of TFS 2015 to TFS 2018 on another Windows server. It worked fine. During my TFS 2018 tests developers submitted new code to TFS 2015. Now, I would like to restore the latest TFS 2015 DB on TFS 2018 again and switch all dev's workplaces to TFS 2018.
Do I need to repeat whole TFS 2018 installation process to upgrade TFS 2015 to TFS 2018 or there is another way of doing this?
If I need to repeat TFS2018 installation, do I need to uninstall TFS 2018 before that?
Thanks
No, you do not need to uninstall: simply remove the Application Tier configuration. You can do it easily from the Administration Console (screenshot is for removing the Proxy feature, simply what you need).
Pre-production upgrade is just a dry run of your upgrade in a production environment.
Usually we use this to test your upgrade. This process test upgrades the databases. You can use this to simultaneously test your TFS 2018 on another hardware while continue to use your existing older TFS up.
Once you are ready for upgrade, restore the databases again and just use the Production Upgrade scenario during the server configuration wizard.
Not sure if you would like to restore the latest TFS 2015 DB on TFS 2018 on production environment or pre-production environment.
If you want to restore the newly changes on TFS2015 to pre-production TFS 2018 environment. It's not a common situation, usually we will abandon the pre-production environment. If you insist on this, you may have to re-upgrade to TFS2018 with pre-production style again. You could also try to back up the database on TFS2015 and restore it in TFS2018 pre-production environment. And you may have to change server IDs which ensures that this deployment will not interfere with the production environment.
Otherwise, suggest you directly move the changes in the production environment later, a tutorial for In-place upgrade to TFS2017(similar to TFS2018 without sharepoint) for your reference.

TFS 2015 Upgrade Questions

I'm currently running TFS 2013 on one Windows Server 2012 box and TFS Build 2012 Update 4 on another box. My question is if I upgrade my TFS Build Server box to utilize TFS Build 2015, will I need to upgrade my TFS 2013 Server as well?
Also, what about the opposite? Can I upgrade my TFS 2013 server to TFS 2015 and still use my existing TFS Build 2012 Server which is using web deploy to build and publish to various other servers on our network?
Yes, TFS Build 2015 and Build vNext require your main TFS server to be at least 2015.
The other way around, TFS 2015 can talk to Team Build 2010, 2012, 2013 as well as the new 2015 build agents of course, as long as they're updated to their latest service pack and update version.
Upgrading your TFS 2012 build server would not be too hard either, depending on the amount of customizations made to the build workflows.

Advantages of TFS 2012 Build Agents vs TFS 2010 Build Agents?

I am testing the compatibility between TFS 2012 Source Control and TFS 2010 Build Agents, and I am glad to inform that they are compatible. I am wondering if there are any advantages to using TFS 2012 build agents. At this point, I have not found any information on advantages of using TFS 2012 build agents.
The 2012 build agent support the new Unit Test Runner, Lab Management environment, .NET 4.5 building, improvements in CodedUI, capability to trigger tests on a 2012 test agent, 2012 version of Code Analysis, improvements to Code Coverage and many many other things.
The main reason to support 2010 build agents, is to allow you to upgrade TFS from 2010 to 2012 without having to big-bang upgrade all build agents. When the next version of TFS comes, it will support the 2012++ and the 2012 build agents. It will no longer support the 2010 build agent.

Resources