Where should I put my application configuration?
Who said that properties files and environment variables where mutually exclusive?

There is a distinction to be made between "where do I store my app configuration?" And "where does my app source it's configuration? "

The most likely outcome is that everyone probably should just keep doing what they are doing with configuration files as a storage mechanism (think long term, persistent state for as long as the environment exists).

However, rather than dropping that configuration file into the application context and letting it run the application should be able to just expect those variables to already be available in the environment when it starts up.

This means you need to have two deployment work flows - 


I deploy may application into an environment by going through X change control process and doing Y reviews with Z tool, whatever.
I deploy my environment configuration into an environment by going through A change control process and doing B reviews with C tool, same process, different outcome.


To use an example of managing environment variables as Key Value pairs in a tool like consul, if you are storing configuration files in git then tools like git2consul with handle getting that configuration into the environment when it's updated.

If you have an app that is expecting that there will be config available as a configuration file then you can avoid shipping multiple copies of the configuration file with the app by building a deploy process with something like consul-template which has the capability to turn your consul values back into a file.