For a nightly build it makes no sense to publish a NuGet package as no code changed and therefore the same GitVersion is calculated. Since version 2017 Update 3 the on premise version of Microsoft’s Team Foundation Server supports “Custom Conditions” on “Build Tasks” – but sadly not on “Task Groups”. Here is what you need to exclude a step from a scheduled build: and( succeeded(), ne( variables['Build.RequestedFor'], 'Microsoft.TeamFoundation.System' ) ) Here a screenshot of the condition in action:
Websites and blogs of people that attended a Homebrew Website Club Düsseldorf.
Using the Windows Credential Manager from MsBuild
Today I needed to make a web service call with authentication from MsBuild. Of course storing the credentials in plain text is not an option. The Windows Credential Manager User Interface can be opened by running the command: control /name Microsoft.CredentialManager There is also a command line interface: cmdkey.exe As the Windows APIs are not provided as wrapper through the Base Class Library (BCL) a NuGet package comes to help:
Get latest MSBuild on x64 with Powershell
Today I wrote this very very easy script to determine the latest MsBuild file path on a x64 machine:
Determine if the current TFS build is triggered by a Git Pull Request
Today I saw a nuget package that was build during a build that was validating a pull request being published to the package source in a team foundation on premise instance. So I used the TFS Build Variable Definition in combination with MsBuild Property Functions to figure it out. Here is the code:
Interesting read: Keyboard vs. Mouse
Do yourself a favor and open in reader mode: https://danluu.com/keyboard-v-mouse/ Plus an addition for the German readers: http://www1.wdr.de/stichtag/stichtag4798.html
Make a WebApplication project automatically publish on build
If you want to publish a Web Application project you can call MsBuild with parameters. Having a publish happen on each and every build - there is work to do. Visual Studio project files are MsBuild files since Version 2005. There is a way to force MsBuild and Visual Studio behave as requested. The project file needs to be edited slightly: <PropertyGroup> <PublishDestination>..\..\..\out\YourPublishDirectory</PublishDestination> </PropertyGroup> <Target Name="PublishToFileSystem" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder" AfterTargets="Build"> <MakeDir Condition="!Exists($(PublishDestination))" Directories="$(PublishDestination)" /> <ItemGroup> <PublishFiles Include="$(_PackageTempDir)\**\*.
One time zone to rule them all
I just read an article published by YellerApp called “The Worst Server Setup Mistake You Can Make”. I’m running my boxes in UTC and wrote about issues in the past (here and there).
Debugging Arquillian Tests in IntelliJ
Clone the tutorial repository from: https://github.com/arquillian/arquillian-examples In IntelliJ click File | Open and select the sub director named arquillian-tutorial. After the dependencies are resolve the project structure is shown. Now I can set a breakpoint in a test, right click the test file and click Debug ‘GreeterTest’: The stacktrace shows I’m debugging the test using the Arquillian stack. The test was executed in the embedded version of Wildfly as the console window reveals:
Mark Asbach - All Articles
• Mark
Carbon footprint and veganism
Install Microsoft SQL Server 2016 unattended
Automate all the things… Microsoft SQL Server 2016 Microsoft SQL Server 2016 Management Studio HTH, Daniel
My Go Journey
I decided to start learning Go in March 2017. Follow my journey through this new blog.
Moving to BlogEngine.NET and Windows Azure
This is my first post on the new blog engine and the new hosting environment. Over the next weeks I’ll try out how I can migrate all my posts since 2003. So far. So good. so what.
Mark Asbach - All Articles
• Mark
Fixing a fridge WITHOUT using an Arduino :-)
Mark Asbach - All Articles
• Mark
Fixing a fridge using an Arduino microcontroller
Mark Asbach - All Articles
• Mark
Brexit
Mark Asbach - All Articles
• Mark
New Year resolutions
It might look like a New Year resolution, that I finally started this blog. However, it's merely a coincidence: over Christmas, I've found time to get some projects done (like fixing the fridge using an Arduino - more on that later), which now makes this blog the next entry on my to do list.
So, Happy New Year, little blog, let's get started :-)
JavaScript, Date and ISO 8601 part3
As there seems some confusion and issues with JavaScript dates (here and here) I wanted to have a look at google Chrome and its ES6 capabilities. So I opened the javascript-harmony setting, enabled it and restarted chrome. I opened up the developer tools and hacked some ES6: Running it on Chrome 55.0.2883.87 m: Meh! The web is broken and nobody cares… So far, so good, so what?
JavaScript, Date and ISO 8601 part2
I had a JavaScript date issue some time ago. Today I looked at the sources of ChakraCore and dug to the point of interest. // Compute the time value timeValue = TvFromDate(year, month, day, timePortionMilliseconds - utcOffsetMilliseconds); if (isLocalTime) { // Compatibility note: // In ES5, it was unspecified how to handle date strings without the trailing time zone offset "Z|(+|-)HH:mm". // In ES5.1, an absent time zone offset defaulted to "Z", which contradicted ISO8601:2004(E).
JSON View replacement
JSON View has a security issue due to an XSS vulnerability. JSON Formatter (Chome Store) is an alternative. As I like dark themes I updated the Stylish definition: HTH, Daniel
Allow your account to sudo
I have the installed the bash of the Linux sub system on my Windows 10 now for quite some time. Today the prompt informed me about available updates for packages. I tried to sudo to run the apt command but failed. {account} is not in the sudoers file. This incident will be reported. So I had a look at the /etc/sudoers file: ... # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL .