<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Build Automation on blog.ehn.nu</title><link>https://blog.ehn.nu/categories/build-automation/</link><description>Recent content in Build Automation on blog.ehn.nu</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 20 Jun 2019 10:29:39 +0000</lastBuildDate><atom:link href="https://blog.ehn.nu/categories/build-automation/index.xml" rel="self" type="application/rss+xml"/><item><title>Running Windows Container Build Agents for Azure Pipelines</title><link>https://blog.ehn.nu/2019/06/running-windows-container-build-agents-for-azure-pipelines/</link><pubDate>Thu, 20 Jun 2019 10:29:39 +0000</pubDate><guid>https://blog.ehn.nu/2019/06/running-windows-container-build-agents-for-azure-pipelines/</guid><description>&lt;p&gt;In &lt;a href="https://blog.ehn.nu/2019/01/creating-a-windows-container-build-agent-for-azure-pipelines/"&gt;a previous post&lt;/a&gt; I talked about how to create a build environment, including an Azure DevOps build agent, using Docker and Windows Containers. Using Dockerfiles, we can specify everything that we need in order to build and test our projects. Docker gives us Infrastructure as Code (no more snowflake build servers) and isolation which makes it easy to spin up multiple agents quickly on one or more machines without interfering with each other.&lt;/p&gt;</description></item><item><title>Accessing Azure Artifacts feed in a Docker build</title><link>https://blog.ehn.nu/2019/05/accessing-azure-artifacts-feed-in-a-docker-build/</link><pubDate>Mon, 27 May 2019 20:48:39 +0000</pubDate><guid>https://blog.ehn.nu/2019/05/accessing-azure-artifacts-feed-in-a-docker-build/</guid><description>&lt;p&gt;I’ve recently given talks at conferences and user groups on the topic of using Docker as a build engine, describing the builds using a Dockerfile. This has several advantages, such as fully consistent build no matter where you run it, no dependencies necessary except Docker.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Image result for docker" loading="lazy" src="https://www.docker.com/sites/default/files/social/docker_facebook_share.png"&gt;&lt;/p&gt;
&lt;p&gt;Some things become a bit tricker though, &lt;a href="https://blog.ehn.nu/2019/01/running-net-core-unit-tests-with-docker-and-azure-pipelines/"&gt;I’ve blogged previously&lt;/a&gt; about how to run unit tests in a Docker build, including getting the test results out of the build container afterwards.&lt;/p&gt;</description></item><item><title>Creating a Windows Container Build Agent for Azure Pipelines</title><link>https://blog.ehn.nu/2019/01/creating-a-windows-container-build-agent-for-azure-pipelines/</link><pubDate>Fri, 18 Jan 2019 12:57:46 +0000</pubDate><guid>https://blog.ehn.nu/2019/01/creating-a-windows-container-build-agent-for-azure-pipelines/</guid><description>&lt;p&gt;Having automated builds that are stable and predictable is so important in order to succeed with CI/CD. One important practice to enable this is to have a fully scriptable build environment that lets you deploy multiple, identical, build envionment hosts. This can be done by using image tooling such as Packer from HahsiCorp. Another option is to use Docker which is what I am using in this post.&lt;/p&gt;
&lt;p&gt;Using Docker will will crete a Dockerfile that specifies the content of the image in which builds will run. This image should contain the SDK’s and tooling necessary to build and test your projects. It will also contain the build agent for your favourite CI server that will let you spin up a new agent in seconds using the docker image.&lt;/p&gt;</description></item><item><title>Publish a GitHub Release from Visual Studio Team Services</title><link>https://blog.ehn.nu/2016/03/publish-a-github-release-from-visual-studio-team-services/</link><pubDate>Tue, 08 Mar 2016 22:13:43 +0000</pubDate><guid>https://blog.ehn.nu/2016/03/publish-a-github-release-from-visual-studio-team-services/</guid><description>&lt;p&gt;The new build system in Team Foundation Server 2015 and Visual Studio Team Services has from the start made it very easy to integrate with GitHub. This integration allows you to create a build in TFS/VSTS that fetches the source code from a GitHub repository. I have blogged about this integration before, at &lt;a href="https://blog.ehn.nu/2015/06/building-github-repositories-in-tfs-build-vnext/" title="http://blog.ehn.nu/2015/06/building-github-repositories-in-tfs-build-vnext/"&gt;http://blog.ehn.nu/2015/06/building-github-repositories-in-tfs-build-vnext/&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="publisinh-a-githubrelease-from-vsts"&gt;Publisinh a GitHubRelease from VSTS&lt;/h4&gt;
&lt;p&gt;This integration allows you to use GitHub for source code, but use the powerful build system in TFS/VSTS to run your automated builds. But, when maintaining the project at GitHub you often want to publish your releases there as well, with the output from your build.&lt;/p&gt;</description></item><item><title>TFS 2015 Update 2 RC1 Available – With VS Release Management vNext</title><link>https://blog.ehn.nu/2016/02/tfs-2015-update-2-rc1-available-with-vs-release-management-vnext/</link><pubDate>Thu, 11 Feb 2016 08:34:33 +0000</pubDate><guid>https://blog.ehn.nu/2016/02/tfs-2015-update-2-rc1-available-with-vs-release-management-vnext/</guid><description>&lt;p&gt;Today &lt;a href="https://blogs.msdn.microsoft.com/bharry/2016/02/10/team-foundation-server-2015-update-2-rc-1-is-available/"&gt;Brian Harry announced that the first release of TFS 2015 Update 2&lt;/a&gt; is available. It is an RC with a go-live license, which means that Microsoft will support you if you install it in production, and it will be a direct supported upgrade to RTM once it is released.&lt;/p&gt;
&lt;p&gt;Read the full release notes for Update 2 RC1 here: &lt;a href="https://www.visualstudio.com/en-us/news/tfs2015-update2-vs" title="https://www.visualstudio.com/en-us/news/tfs2015-update2-vs"&gt;https://www.visualstudio.com/en-us/news/tfs2015-update2-vs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One huge thing with the release is that Update 2 includes the &lt;a href="https://blog.ehn.nu/2015/12/microsoft-announces-next-generation-of-visual-studio-release-management/"&gt;new Release Management vNext&lt;/a&gt; feature that has up until now only been available in the service (although &lt;a href="https://blog.ehn.nu/2016/01/deploy-on-premise-builds-with-visual-studio-release-management-vnext/"&gt;you can use that for on premise TFS and deployments&lt;/a&gt;). But now you don’t have to rely on VSTS for hosting the service, it is now part of TFS 2015 Update 2!&lt;/p&gt;</description></item><item><title>Deploy Azure Web Apps with Parameterization</title><link>https://blog.ehn.nu/2016/01/deploy-azure-web-apps-with-parameterization/</link><pubDate>Sun, 24 Jan 2016 20:12:05 +0000</pubDate><guid>https://blog.ehn.nu/2016/01/deploy-azure-web-apps-with-parameterization/</guid><description>&lt;p&gt;I have &lt;a href="http://geekswithblogs.net/jakob/archive/2015/04/29/deploying-an-azure-web-site-using-tfs-build-vnext.aspx"&gt;blogged before about how to deploy an Azure Web App using the new build system&lt;/a&gt; in TFS 2015/Visual Studio Team Services. In addition to configure an Azure service endpoint, it is really only a matter of using the built-in &lt;a href="https://github.com/Microsoft/vso-agent-tasks/blob/master/Tasks/AzureWebPowerShellDeployment/task.json"&gt;Azure Web App Deployment&lt;/a&gt; task.&lt;/p&gt;
&lt;p&gt;However, in many cases I have decided not to use this task myself since it has been lacking a key feature: Applying deployment parameters using the SetParameter.xml file.&lt;/p&gt;</description></item><item><title>Downloading Build Artifacts in TFS Build vNext</title><link>https://blog.ehn.nu/2016/01/downloading-build-artifacts-in-tfs-build-vnext/</link><pubDate>Mon, 18 Jan 2016 19:14:31 +0000</pubDate><guid>https://blog.ehn.nu/2016/01/downloading-build-artifacts-in-tfs-build-vnext/</guid><description>&lt;p&gt;Since a couple of months back, Microsoft new &lt;a href="https://blog.ehn.nu/2015/12/microsoft-announces-next-generation-of-visual-studio-release-management/"&gt;Release Management servic&lt;/a&gt;e is available in public preview in Visual Studio Team Services. According to the current time plan, it will be released for on-premise TFS in the next update (Update 2).&lt;/p&gt;
&lt;p&gt;Using a tool like release management allows you to implement a deployment pipeline by grabbing the binaries and any other artifacts from your release build, and then deploy them across different environments with the proper configuration and approval workflow. Building your binaries once and only once is a fundamental principal of implementing continuous delivery, too much can go wrong if you build your application every time you deploy it into a new environment.&lt;/p&gt;</description></item></channel></rss>