Open xt0rted opened 6 years ago
Hi Brian,
there was a request to make the windows executable available as an install. We already use npm/pkg to generate these for the nuget package.
"nuget": "cross-var \"npm run clean && pkg -t node6-win --output blob bin/blob && pkg -t node6-win --output queue bin/queue && pkg -t node6-win --output table bin/table && nuget pack -Version $npm_package_version && nuget push *.nupkg -Source https://www.nuget.org/api/v2/package\"",
Would that be sufficient for you, or is a Windows Docker image a must?
I'd prefer to stick with docker since it's 2 lines in my setup & build script and won't require separate code paths in them. I also like that it's cross platform since I can't use the npm package on appveyor because running that blocks so the build never finishes.
Looks like there's some windows based node images being worked on that should make setting this up easier https://github.com/nodejs/docker-node/pull/720.
What Windows version do you need in the image?
If Nano Server will work then that looks to be the smallest file size. There's some existing windows + node images at https://hub.docker.com/r/stefanscherer/node-windows/ if it'll help.
AppVeyor posted an update the other day saying you can switch from Windows to Linux containers now but it's not clear if you need their new paid upgrade for it. I'll give this a try over the weekend to see how it works.
You can't run linux containers on the standard tier workers, it's reserved only for the new premium tier workers.
@xt0rted you can run ubuntu as an appveyor build image as well, which is what i'm doing. here's a PR that i'm currently working on https://github.com/testcontainers/testcontainers-dotnet/pull/11/files This is my appveyor config - https://github.com/testcontainers/testcontainers-dotnet/blob/master/appveyor.yml
It would be great to see a windows server core based image, maybe a 2019 base image?
I use AppVeyor as my build server and they only support Windows images (this week they soft released a paid upgrade to support Windows and Linux, but I don't want to pay extra just to use Azurite for my tests).
Would it be possible to publish both a Linux and Windows based docker image?
For now my build scripts check to see if they're running on AppVeyor and if so start up the Windows storage emulator instead of setting up Azurite. I'd prefer to run the same for dev & ci though.
I tried using the node package instead of docker but when you run that it blocks and the build never completes. Docker seems to be the best solution for both local dev & ci.