We are using TFS 2015 and we are trying to run build definition on a remote server with a test agent.
TFS complains that our test agent version is too old:
No agent found in pool 1 which satisfies the specified demands:
Agent.Version -gtVersion 1.94.0
The question is: how can you tell the current version of the agent?
You can see it on the Agent pools pagein TFS under Capabilities.
Related
I currently manage a TFS 2018.2 TFS server for 100 users that have Visual Studio Enterprise. On our build and release resource limits tab we show that we have 103 release pipelines.
I am acquiring the management of another TFS 2018.3 server, but the users only have Visual Studio Professional. As such their release pipelines are limited to 1 pipeline.
I have read the page at: https://blogs.msdn.microsoft.com/tfssetup/2017/11/14/understanding-build-and-release-pipelines-visual-studio-team-servicesteam-foundation-server/
From that information I believe what I am reading is that this number only affects Releases running in the TFS Release pipeline, and not build running in the build pipeline. #1 : Did I interpret this correctly?
Second, we are considering upgrading our server to Azure DevOps Server 2019. On this page: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops-2019&tabs=browser
There is an important note stating as follows:
Starting with Azure DevOps Server 2019, you do not have to pay for self-hosted concurrent jobs in releases. You are only limited by the number of agents that you have.
Therefore, if we do upgrade to the on-premises version of TFS Server, we can run all of both builds and releases currcurrently for which we have agents installed. #2 : Can you confirm this is also correct?
I tested and confirm your interpretation for the documents in above links is correct.
With TFS, you only need pipelines for deploying releases; no pipelines are required for builds since unlimited concurrent builds are included with the TFS server license.
I tested on tfs2018 multiple build pipelines could run concurrently based on how many on-premise agents I have installed. But i can only run one release once a time.
Starting with Azure DevOps Server 2019, you do not have to pay for self-hosted concurrent jobs in releases. You are only limited by the number of agents that you have.
I also tested on vsts2109, both build and release pipeline can concurrently based on how many on-premise agents I installed.
For on-prem TFS 2017 when I try to update all agents in the agent pools, the update does not happen. I see the same old agent version.
Build servers typically do not have internet connectivity.
Is internet connectivity a pre-requisite for updating on prem build agents?
I had to download the new agent for a machine where I have internet and then copied the files over to a new folder in the build machine and reconfigured the agent from this new folder. After this is done I had 2 agent services - 1 pointing to older folder and 1 pointing to new folder. The service pointing to old folder was started and the new service was in stopped state. Stopped the old service and started the new service.
Is the process different for updating agent version for on-prem TFS?
Even if you have Internet connection, the update may not work.
According to Daniel Steiner there are 2 kinds of agents:
Windows specific agents (version 1.x)
cross platform agents (version 2.x)
In TFS 2017 the Windows specific agents (version 1.x) are deprecated. Thus they won't be updated from the agent queues admin area. So you have to download the agent from tfs (or github) and install it yourself. After initial installation/configuration the agent updates via tfs should work again. It would have been cool if they automated that process or at least said what to do in tfs.
Unfortunately the official docu does not make the whole issue clear enough.
Yes you need internet connectivity for updating on prem build agents.
Each agent automatically updates itself when it runs a task that
requires a newer version of the agent. But if you want to manually
update some agents, right-click the pool, and then click Update all
agents.
All build agents within the selected pool will go offline temporarily and then come back online as soon as they are updated.
Which you have done is manually adding a newly version agent, not updating the agent. There are just two agents in your build server,so you had two agent services.
More details about update agent in on-premise TFS server, you could refer below tutorials:
Updating Your Team Foundation Build Agents
Upgrading TFS 2015 Build Agent
I follow SonarQube documentation:
But with TFS2015 express I don't see build step "SonarQube for MSBuild". Is that some plugin to install into TFS express ? Or the feature is not allowed to Express edition ?
This build step is RTM with TFS 2015 update1. Details please refer Team Foundation Server 2015 Update 1
SonarQube build tasks that embed the sonar-msbuild-runner 1.0 work
with on-premises and hosted agents. You can now use two build tasks to
execute a SonarQube analysis in conjunction with MSBuild. Before the
build steps that execute the actual MSBuild, insert a SonarQube for
MSBuild - Begin Analysis task to specify the SonarQube project
parameters, the connection to the SonarQube server, and (until
SonarQube 5.2 is available) the connection to the SonarQube database.
After the build and any test tasks, append a SonarQube for MSBuild -
End Analysis task to complete the analysis and send the data to
SonarQube.
So, the feature is also not in TFS Express 2015. There is no TFS Express 2015 upade1 for now. If you want to use this feature, you may have to use either TFS2015 update1 or VS Team Service.
I am doing continious Integration between TFS and Jenkins.I am using TFS as a repository server.I am able to create workspace from TFS in jenkins and building of application successfully.I need automation build after TFS checkin.
IIRC Jenkins polls tfs to see if there's been a checkin, when there has it does a build (as opposed to TFS kicking off the build).
I just finished setup two build agent on a server. From what I think, I don't need to install TFS Server on this machine because it use as build agents not the server itself. I might need to install TFS Server to configure the build agents but I hope I can uninstall them after I finished configuring.
I am not sure is it possible to run TFS Build Agent without installing TFS server or not?
You do not have to have the application tier (server) configured on the build agent machine.
You can install the build agent but in order to fully configure the build agent, it will need to be configured against a server's collection (local or remote).
Step 3 in the wizard covered here, details how you need to browse and select the collection the build agent will build for by browsing (it's the same connect dialog you get from the VS client).
Note that if you are using TFS 2012 Build Wizard on-premise (it's released now) it saves you from deploying a server :) At step 3, you point to a cloud hosted account # tfspreview.com, it will prompt you to authenticate and download the service account details for the build agent.
The 2012 wizard is covered here.