Merge appveyor.yml and UI configuration
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.
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
Support Staff 1 Posted by Feodor Fitsner on 13 Jun, 2014 11:50 PM
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.
Support Staff 2 Posted by Feodor Fitsner on 14 Jun, 2014 12:03 AM
There is another related item we have in todo - "generating YAML from UI settings". I think this could help.
3 Posted by James Skimming on 14 Jun, 2014 09:20 AM
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.
Support Staff 4 Posted by Feodor Fitsner on 16 Jun, 2014 07:24 PM
You can use secure variables: http://www.appveyor.com/docs/build-configuration#secure-variables
5 Posted by James Skimming on 16 Jun, 2014 08:49 PM
Thanks I've got it working.
Though I was initially confused. According to the Encrypt configuration data page.
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.
Support Staff 6 Posted by Feodor Fitsner on 16 Jun, 2014 09:52 PM
Right, will update docs. Thanks for the catch!
James Skimming closed this discussion on 28 Jul, 2014 04:59 PM.