Picking this series up after a break. Last time I mentioned I wanted to be able to add multiple configurations and ensure they compiled as well. What I did to my source directory was simply clone the sample configuration I've made. As Azure Automation DSC treats them as different configurations I just kept all the settings for the configuration exactly the same. I copied the configuration and commit it to the dev branch to begin the build.
I'll use a pull request to pull the contents of my configtesting branch into the dev branch. In VSTS go to the code section and ensure the correct branch is selected. Then I just click on Create a Pull Request.
Make sure the correct details are filled in and then click Create (I could add reviewers if I wanted someone to check the code or link a work item to the request)
I can then go and complete the pull request.
The build gets automatically triggered (by a change to the dev branch) and completes successfully without me having to change anything. If I check the artifact which is created I now have my SecondConfigurationDEV.ps1 file in there ready for publishing to the Azure Automation service.
I can go and manually trigger the release for the DEV configurations.
And when it is complete I can see the new DEV configuration in Azure Automation DSC.
Not too hard? Well it is about to get hard.... I still need to work out how to actually test the configurations before releasing them - they can compile which is fine but will they actually work in my environment and I still need to handle credentials. I can do that using Azure Automation DSC but I'm concerned about the time to actually register the node and test the configuration. In the next post I'll try and use an on premises build agent to actually run and test the configurations can apply.