How does TeamCity work when you have a paid third-party component that needs to be installed on the machine?
I have a little .NET application that uses an Atalasoft component.
Do I need to install that component in the agent?
What if I have more than one agent? Dedicated agent?
better to resolve libraries with nuget before building app
in this case you don't need to install it on agent.
otherwise you have to install library on each agent, or make dedicated agent.
Related
I have a Xamarin project that builds just fine on my local machine but is not building on the azure server. Anyone see this before ?
##[error]The nuget command failed with exit code(1) and error(NU1201: Project XXX.XXXX.XXXXX is not compatible with monoandroid10.0 (MonoAndroid,Version=v10.0). Project XXX.XXXX.XXXXX supports: netstandard2.1 (.NETStandard,Version=v2.1)
Upgrade your nuget version to 5.8 and this will all go away :)
If you use Azure pipelines to Build and deploy Xamarin apps, please refer to this doc. And if you use Microsoft-hosted agent, its build environment is different from local machine, such as it may lack of some software or installs different software version. You can see the installed software for each hosted agent by choosing the Included Software link in the table.
To your issue, please check which NuGet version do you use to build this project locally, and then use the NuGet Tool Installer task in Azure pipeline to specify this NuGet version(maybe 5.8.0 works for your issue as Mouse commented) to build your project with Microsoft-hosted agent.
Also you could deploy local self-hosted Windows agent and use it in Azure pipeline to build your project, which will run local build environment.
BTW, you could refer to this doc: Review logs to diagnose pipeline issues to make initial troubleshooting steps when encounter pipeline issues.
I have a TFS server on a remote machine, and succesfully installed a build agent on my own machine. The connection between these works as intended:
The agent is online, and running succesfully. However, when I try to queue a build, I get this error:
I think the solution lies in this text:
No agent found in pool Default which satisfies the specified demands:
msbuild
visualstudio
DotNetFramework
Agent.Version -gtVersion 1.98.1
Since I have MSBuild, VS2017 and .Net installed on my machine, I think it's the Agent.Version that's causing problems. But how do I check what version of the agent I have running? I followed this guide to installing the build agent. And where can I find other versions of the build agent online? The MS site doesn't seem to offer download options for older/newer versions of the build agent.
If you installed the agent according your link so the version should be fine (because you downloaded the agent from your TFS).
Go to Agent Pools page, then check the agent's Capabilities.
Look after the the version of MSBuild/VS/.Net, maybe on the agent computer the right version not installed.
Another option - the agent didn't recognize the installed stuff so you can add it to the agent's capabilities manually by click on "Add capability":
I had a similar issue after upgrading Azure DevOps On Premise from 2019 RC2 to 2019 Release. After the upgrade I had to download the new Build Agent from the Azure server and install the new version on my build agents. After upgrading the build agents they began reporting the correct capabilities.
using vs 2017 is it possible to control/permission who can install packages in a solution without using Team Services or other third party tool?
thanks
is it possible to control/permission who can install packages in a solution without using Team Services or other third party tool?
To my knowledge, we could not set permission who can install packages from NuGet gallery without VSTS or third party tool. That because the gallery has not been implemented for this, but you can set up a NuGet server that is accessible via https from the internet, and only allows people who can successfully authenticate to view or download the packages on the server.
You can refer to how to set NuGet.Server and how to Configuring NuGet server to use Authentication for detail info.
The requirements on the following page state that you need to install Visual Studio with Xamarin on your local TFS server to setup Xamarin CI builds:
https://developer.xamarin.com/guides/cross-platform/ci/intro_to_ci/
topography of the CI
This is a real pain. We have lots of developers that rely on our local TFS server, most of whom don't do any Xamarin development. As such, any changes are heavily scrutinized. This often leads to us not installing the latest VS/Xamarin releases, as it's considered too risky for this vital bit of infrastructure.
We could have a Windows build machine with VS and Xamarin installed, that is connected to a Mac build machine. We'd be free to update the Windows and Mac build machines regularly, without the fear of compromising the TFS server. Is this possible? If not, why not?
Thanks in advance.
That diagram can't be right. There is no reason why you'd need VS or Xamarin installed on your TFS app tier.
I think it's showing a simplified configuration where the Windows build agent is installed alongside the app tier. That is a supported setup but is never, ever recommended by anyone, for exactly the reasons why you don't want to do it.
The diagram is simplified. You don't need to install anything on your TFS server. What you do instead is to install a Build Agent on a separate machine or virtual machine.
The installation details for the TFS 2017 / VSTS build agent v2 can be found in the official visual studio documentation.
The procedure is similar for both TFS and VSTS, where you generate an access token in TFS/VSTS, then simply enter the url for the TFS/VSTS instance when running the build agent install script, along with the access token.
There are build agents for Windows, Linux and macOS, so it is up to you how you configure how iOS builds are made.
I am planning to move from TeamCity to Visual Studio Team Services CI builds (mainly to avoid having to run and manager a server for TeamCity, version control repository etc.)
My TeamCity build uses a third party obfuscator, called Crypto Obfuscator for obfuscating code when it is built. I have searched through all available documentation online but cannot find out if Team Services lets you somehow install and use third party tools in CI builds.
If not, is there any way obfuscation can be introduced in Team Services CI builds?
Thanks for your time.
The new build system is task-based -- you can either write a custom task and upload it to Team Services, or just call the appropriate command-line utilities on your build server.
If you're using a hosted build server, you'll have no ability to install third-party tools.
The Team Services build service (build server hosted by Microsoft) is not for you. You won't be able to run the obfuscation program you have.
But you can use your own Build server, connect it to Team Services and keep your MSBuild script.