Merge appveyor.yml and UI configuration

James Skimming's Avatar

James Skimming

13 Jun, 2014 11:43 PM

I've been configuring the build for my project and I started using appveyor.yml for the build number. Unfortunately several UI configurations stopped working (NuGet package restore, Slack integration)

From reading the documentation I can see this is by design:

http://www.appveyor.com/docs/build-configuration#configuring-build

I was wondering why this is, and instead some sort of merge logic be implemented, say appveyor.yml takes precedence, but if settings are omitted UI configuration is applied.

The reason I want this is I want to control the version number from source (assembly version, nuget package version), and I want this aligned with the appveyor build number. But I don't want to add my slack authentication keys to source control, otherwise all and sundry could post to my slack channel, Therefore I'd like to control some settings through appveyor.yml which is open source, but secure settings, through UI integration.

  1. Support Staff 1 Posted by Feodor Fitsner on 13 Jun, 2014 11:50 PM

    Feodor Fitsner's Avatar

    Well, I'd argue what should take precedence: YAML over UI or UI over YAML :) For example, right now Environment variables defined on UI are merged into those defined inside YAML. Someone finds this case useful especially when you work in development branches. Thus you can disable/enable certain things using environment variables.

    In general, "merging" is hard, "overriding" is easier to implement. Would be cool to hear others' opinion though.

  2. Support Staff 2 Posted by Feodor Fitsner on 14 Jun, 2014 12:03 AM

    Feodor Fitsner's Avatar

    There is another related item we have in todo - "generating YAML from UI settings". I think this could help.

  3. 3 Posted by James Skimming on 14 Jun, 2014 09:20 AM

    James Skimming's Avatar

    Regarding precedence, I agree, UI over YAML makes sense, also "overriding" is what I meant, I didn't mean the merging of individual settings, so overriding seems like the best description.

    I'm not sure what "generating YAML from UI settings" is exactly, I can guess, but do you have more information?

    In my scenario I predominantly don't want to add authentication settings (e.g. slack Authentication token) into source control.

  4. Support Staff 4 Posted by Feodor Fitsner on 16 Jun, 2014 07:24 PM

    Feodor Fitsner's Avatar
  5. 5 Posted by James Skimming on 16 Jun, 2014 08:49 PM

    James Skimming's Avatar

    Thanks I've got it working.

    Though I was initially confused. According to the Encrypt configuration data page.

    This form allows you to encrypt sensitive data before saving it into appveyor.yml file. Secure strings are currently supported in environment and deploy sections.

    It would help if it was updated to reflect the broader sections where secure strings can be used, or maybe describe the secue: convention and then refer to the appveyor.yml reference.

    Thanks again for your help.

  6. Support Staff 6 Posted by Feodor Fitsner on 16 Jun, 2014 09:52 PM

    Feodor Fitsner's Avatar

    Right, will update docs. Thanks for the catch!

  7. James Skimming closed this discussion on 28 Jul, 2014 04:59 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac