On 25 May 2013 11:44, Camillo Bruni <[email protected]> wrote: >>>> so that means nobody *actually* loads code without tests? :D (evil laugh). >> >> But i do not argue about what is the be best deployment scenario. >> >> I am arguing about leaving developers to choose: >> - if (s)he wants to deploy with tests or not, it should be up to him. > > it's also up to him to > - write configurations > - write tests > - write documentation and examples > - commit code to a repository > - create jenkins jobs > > you see, there are many things that one can avoid to do in a project, yet it > is a common standard to do ALL of these tasks for a project. Yet you have your > liberty to ignore these things. >
It heavily depends what kind of project is it. For small/tiny projects following all steps/recommendations may be not necessary and actually cumbersome. Consider pilot projects as well. For frameworks, mid to big projects or any project with intent to be used by others, of course, building up an ecosystem (docs, tests, examples etc) is necessary. > It is about the good path and how you push people towards it. If you do not > provide the tools for it we will be stuck in stone age forever. > > It has never been the liberty of ignoring things that brought a project > forward, > but the tools that open new possibilities. > > How does an ideal project look for you? Ideal project has tests, docs, examples books, flyers with ad, sales managers and profit :) But things are never ideal, and you always looking for a sweet spot between: - time - resources - features and in situations when you lack of time & resources (usual for open-source projects), you have to pick what features to implement first, and which have to wait. You simply cannot afford to do everything in time, and hence you need to prioritize things. Writing documentation before 1st line of code, or otherwise? But this is orthogonal to my point. I see little point in keeping tests in deployed image. It is good to have tests, and run them regularly while developing, using SCM, continuous integration, writing docs, examples etc etc.. Consider deploying database application. To run all the tests for it may take days, often will require setting up special testing environment (outside of image) and many other things.. That means , even if you will keep those tests in image, you will be never able to run them in deployed environment, simply because this will mean: stopping all services, changing configs, firewalls.. etc.. So, do you really think that in such scenario (which actually typical for most server-based applications), having tests in deployed image makes any difference? -- Best regards, Igor Stasenko.
