I have a library that I build with FAKE, pack, and push to NuGet. Works fine.
Now, I want to do all that, including the "push" part, in continuous mode, via Travis CI. I know there are security concerns, but it seems that I can do this securely (at least in principle) by putting the NuGet API key in a Travis environment variable, so it's not available to external pull requests, and pushing only when building a special dedicated branch.
The problem comes when FAKE meets Travis.
- Turns out, when I use the Paket.Push helper, the whole
paket.exe
command line is emitted as FAKE's output, complete with my NuGet API key. - At the same time, it turns out that Travis lets any non-authenticated nosy individual to see full build logs of any project. With my NuGet API key right in there.
I know that I can disable the whole output from FAKE by redirecting it to /dev/null
(in .travis.yml
), but I'd like to keep most of the output, just hide that specific part with the key.
I could not find any relevant parameters in the PaketPushParams
structure, and Google didn't turn up anything either. The next step would be to look through FAKE source code to see if the output is even conditional, but I thought I'd ask first. I can't be the first person to hit this. :-)