Azure / Azurite

A lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies
MIT License
1.8k stars 320 forks source link

Docker image on Windows #42

Open xt0rted opened 6 years ago

xt0rted commented 6 years ago

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.

edwin-huber commented 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?

xt0rted commented 6 years ago

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.

edwin-huber commented 6 years ago

What Windows version do you need in the image?

xt0rted commented 6 years ago

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.

xt0rted commented 6 years ago

You can't run linux containers on the standard tier workers, it's reserved only for the new premium tier workers.

swissarmykirpan commented 6 years ago

@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

erichexter commented 5 years ago

It would be great to see a windows server core based image, maybe a 2019 base image?