James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Azure DevOps

Using Java SDK 11 on Xamarin Android Builds on Azure DevOps & GitHub Actions

Everything is building great in your CI/CD pipeline and then BOOM your build fails for no reason. You didn't change anything in your code!?!?! That was me this morning as I was updating my InAppBilling Plugin for .NET. I got hit with this beauty: error XA0031: Java SDK 11.0 or above is required when using $(TargetFrameworkVersion) v13.0 What is going on?!?!? Starting with Visual Studio 2022 17.8, which was just released, the Xamarin.Andriod tooling requires Java SDK 11.... but the default…

James Montemagno James Montemagno

Azure DevOps Settings for Xamarin iOS 13 and Android 10 Apps

Settings up continuous integration can be tricky when there are new versions coming out. Recently Visual Studio 2019 updated to support Xcode 11, iOS 13, Android 10, .NET Core 3, and C# 8. What a whirlwind of new updates that CI servers got all around the same time! This means that as you were updating your apps your hosted machines also got updated and probably broke your builds :(. My good friend Jonathan Peppers wrote an amazing tool called Boots [https://devblogs.microsoft.com/xamarin/boots-…

James Montemagno James Montemagno

Super Simple Git Tagging & Releases in Azure DevOps

I am going to be honest with all of you, I never really understood Git tags [https://git-scm.com/book/en/v2/Git-Basics-Tagging] and releases inside of GitHub. In my old TFVC days I would just create a branch with the name of the release and call that my "tag" so I could always go back to it. What sparked my interest was seeing a bunch of popular projects that I was using combine tags with the GitHub releases. I started reading the documentation and still wasn't sold on it because I…

James Montemagno James Montemagno

Enhanced Mobile App Versioning in Azure DevOps (VSTS) with Mobile Tasks

A little over a year ago, I introduced my Mobile App Tasks Extensions for iOS and Android [https://montemagno.com/introducing-vsts-mobile-build-tasks-extension/] into the Azure DevOps (VSTS) marketplace. For iOS and Android developers it made the tasks of versioning and adjusting package names a breeze. They were written completely in TypeScript with VS Code [https://montemagno.com/building-vsts-tasks-with-typescript-and-vs-code/] and of course are open source on GitHub [https://github.com/james…

James Montemagno James Montemagno

Continuous Integration & Delivery for Xamarin & .NET Libraries with Azure DevOps (VSTS)

I build a lot of .NET libraries that include simple .NET Standard libraries to fully cross-platform plugins for Xamarin and Windows that target up to 10 different platforms. When I got started building libraries and shipping them to NuGet I went down a simple path of just building everything locally on my machine and manually uploading them to NuGet. This worked great for a single library, but as soon as I took on a second... third... forth... and so on, things got out of hand and I knew I had t…

James Montemagno James Montemagno

Building Xamarin.Android Apps in Azure DevOps (VSTS) with Hosted Agents!

I recently wrote about how to build any Xamarin.iOS application inside of Visual Studio Team Services [https://montemagno.com/building-xamarin-ios-apps-in-team-services-vsts-with-hosted-macos-agents/] using Hosted macOS Agents for free! I have updated the guide a little bit if you are leveraging .NET Standard libraries to ensure that you build with MSBuild, which is pretty important seeing that all of the new templates will soon use these. That had me thinking "I wonder if there are any sm…

James Montemagno James Montemagno

Building Azure DevOps (VSTS) Tasks with TypeScript and VS Code

Over the last few years I have fallen in love with Azure DevOps (VSTS) [http://visualstudio.com/team-services] for handling all of my application and backend continuous integration, deployment, and release management. Each of these services offer a task based build and release definition that enable you to easily start automating anything. There are a ton of built in tasks, and a whole marketplace [https://marketplace.visualstudio.com/] where you can install them into your Azure DevOps (VSTS) pr…

James Montemagno James Montemagno

Version Bumping iOS & Android apps in Azure DevOps (VSTS)

I love Continuous Integration and Deployment for mobile applications and have given several talks on it in the past. It streamlines your entire development process and makes it drop dead simple to simply commit code and have everything you don’t want to do manually be taken care of for you. This means build, test, bump versions, and ship off to testers with integrations like HockeyApp. Notice I mention “bump versions”, which is actually really important. Every build should be assigned a unique n…

James Montemagno James Montemagno