How to Deploy On-Premises with Visual Studio Online Continuous Delivery - continuous-integration

My team uses Visual Studio Online ("VSO") to manage our ALM.
We already have a push-button build-process in place to build code from our local Git repo (remotely) and deploy it to a Microsoft Azure Website on Azure.
In addition to this we want a local, development-testing environment built and deployed with a push of a button.
What is the best way to integrate an automated, on-premises development-testing deployment into our development pipeline from within VSO's ALM ecosystem?
[We do also own TFS 2012 -- is there a way to leverage it from VSO to drive an on-premises build deployment from our VSO git repo?]

To deploy builds on-premise, I installed an on-premise build server and used it as the default build controller in my build definition.
When installing the build server select your Visual Studio Online url to point the build server to your team project collection.
I used the instructions here
http://myalmblog.com/2014/04/configuring-on-premises-build-server-for-visual-studio-online/
(normal issues when installing a build server remember to copy over your MSbuild folder from a machine with Visual Studio already installed etc...)

I know it's been a while since the question was asked, but this guy did it with an extension to be added to your VSTS account to deploy directly to an on-premise IIS. I'm going to check this solution today but I'm pretty sure it will work.
https://blogs.msdn.microsoft.com/monub/2016/01/20/visual-studio-team-services-release-management-iis-web-deployment-vnext/
UPDATE
Better yet, MSDN released a complete doc for deploying an asp.net app on IIS
https://www.visualstudio.com/en-us/docs/release/examples/other-servers/net-to-vm

Related

Connect Visual Studio solution to different Azure Devops projects

We are using Azure Devops server to host our GIT projects. We also use Azure Devops Server for our development process. For historical reasons we have our repositories in one teams project and work with our tasks in another. It has never been any problems to be connected to those two different teams project until the release of Visual Studio 16.7. When I now connect to my GIT project I can't see the teams project where all my tasks are.
Is there anyone else that has a solution for this?
Please try the following items:
Go to web portal, to see whether you can see the team project where all your tasks are.
If you can see the team project in web portal, check whether you use the same account to access the server in VS.
Close all Visual Studio instances, delete %LOCALAPPDATA%\.IdentityService.
Clear Azure Devops server caches %LOCALAPPDATA%\Microsoft\Team Foundation\x.0\Cache.
Re-launch the VS and try to connect to server again.

Why is latest Xamarin needed on local TFS server for CI?

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.

Third party tools in Visual Studio Team Services Continuous Integration

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.

Migrate TFS 2008 to Visual studio online? (on build and security)

we uses on-premise tfs 2008 for source safe and build engine. The build script is heavily customized with msbuild scripts. Developers uses active directory to authenticate then queue a build.
We look around to go to Visual Studio Online, question
- the big concern is the build script, we don't really want to rewrite it, is it possible to use the current MSBuild project in the VSO build process?
- for authentication, how to integrate with the on-premise AD with the VSO? how to migrate the existing security project settings to the VSO?
Ok, so the answers to all of your questions is maybe 😊.
You can continue to use your on-premises build server with VSO. If you upgrade your agents to TF Build 2010 or 2013 servers you can plug them into VSO and build in the same way.
You may be able to use the cloud build agents if you don't need custom things installed on the build agents to compile. Probably best to stick with local agents for now.
For AD you can configure an Azure Active Directory (AAD) and wire it up to VSO. There is then a connector to sync your local AD with AAD (very easy) and enable single signe-on. There are fiddly bits but mostly strait forward.
http://nakedalm.com/use-corporate-identities-existing-vso-accounts/
I enabled it for my account but without the local AD sync as I don't have one.
I have a few customer that are on VSO and sync their local AD with AAD and are very happy.

I want to keep my source protected on my development machine, how would I deploy ASP.NET MVC to the server?

I'm not exactly sure what to do, normally I do a commit to SVN and Cruise Control does all this stuff on the server to pull from the repo and deploy everything.
However I am just playing around for fun with my personal VPS and want to know how I can from Visual Studio 2010 (web express) on my local machine just make some kind of installer or DLL or whatever and how to deploy it to my VPS of Windows Server 2008.
Do I upload via FTP and run something or place some files in a certain location and configure through IIS? Or is there some way Visual Studio can just interface with my server and impregnate it with my beautiful code?
From the description given, I'd recommend 2 options:
check whether your server installation currently supports one-click publishing. It's likely an IIS configuration task(s) and/or ensuring your server supports MSDeploy/WebDeploy. See "One-Click Publishing - What's New". Publish Use Visual Studio 2010's Publish command to perform a Web Deploy of your solution.
setup an FTP server on your server. Use Visual Studio 2010's Publish command with the FTP option to push your built solution.
Would this MSDN article help?
The thing is there's capabilities in Visual studio that can publish a web application on a web server.
But you can always do an xcopy deployment as well. And since you've obviously never deployed a web application yet maybe it would be good to learn something and actually deploy it manually.

Resources