Strider-CD / strider-docker-runner

Strider runner that uses Docker
34 stars 19 forks source link

config page & slave adjustments #8

Closed kfatehi closed 10 years ago

kfatehi commented 10 years ago

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... ?

kfatehi commented 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?

kfatehi commented 10 years ago

... 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...

jaredly commented 10 years ago

:( 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

kfatehi commented 10 years ago

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.

jaredly commented 10 years ago

config page ready

jaredly commented 10 years ago

image

kfatehi commented 10 years ago

Thank you Jared! Very nice work!