Closed kfatehi closed 10 years ago
actually i vote for the latter solution because then you can easily change operating systems and other things -- whereas the former will lock you into whatever FROM (e.g. ubuntu) strider-docker-slave chose.
so basically we would take the user's dockerfile, build it, and then build strider-docker-slave FROM that image.... i can see the logic getting a bit hectic -- definitely i dont think we should implement this without some discussion and time passing... wait for people to need it?
... actually -- here's another solution... instead of using the registry at all, instead of requiring that users docker-pull, we could simply add the strider-docker-slave node.js stuff to NPM, seed a VERY simple rendition of strider-docker-slave's Dockerfile in the config page's Dockerfile and then always do a build... this way you have 100% control, no extra setup, and we keep the runner logic simple (just add a build step, maybe randomize the image name and clean it up after, so different projects dont run over each other).
i definitely like this solution the best.
i would also add a "reset to default" button with this approach. additional facilities such as "build" and so on could/should also be added to this page so you can iterate on your dockerfile, make sure it builds properly, etc...
:( the default should be simple and easy, which to me means "just use strider/strider-docker-slave". If people really want to be able to build a custom docker file from within the strider UI, then we can provide that...but I'm not totally sure that there's a huge benefit to this. Anyway, I also want to keep the default path lean -- always doing a build (even if it just hits the docker cache) seems excessive
Agreed, we should keep it simple and let this creep up through an actual use case. we'll need to do something about that config page though.
config page ready
Thank you Jared! Very nice work!
we should reduce the config page to 1 text box, just the ace editor for a dockerfile
this comment https://github.com/Strider-CD/strider-docker-slave/blob/master/Dockerfile#L8 is correct and the slave needs to be simplified to only contain the bare essentials (basically just node.js, the required npm packages, and SpawnJSON.js)
now there are two choices:
OR
i think the former is better ... but i can see the latter being useful ? what are your thoughts... ?