Hi, Nice project. I saw the checkin for jbehave and I thought "SOLD!" One question, is there a reason that it cannot be installed using gem? It would make starting the server easy. Other people can also customize the server like they do with Jetty (which I think is the coolest servlet engine because of that). -- Shane http://www.shaneduan.com
Alexey Verkhovsky
2007-Mar-15 07:32 UTC
[Cruisecontrolrb-users] greetings, and first question
cruisecontrolrb-users-bounces at rubyforge.org wrote on 03/14/2007 11:06:21 PM:> One question, is there a reason that it cannot be installed using gem?Come on, guys (and gals), is "download and unzip" that much harder than "gem install ccrb"? Especially, to anyone who have ever installed a J2EE application? :) On a more serious note, we''ve been asked about this a lot, and here is my 2 cents on it. I''ve been through gem packaging with Instiki. It''s much more complex than it seems, because gems are really intended for packaging libraries and tools, not web applications that need to persist data and configuration. Installing an app through gems complicates data storage, because now you have it in /usr/lib/ruby/gems, and on *nixes that directory is owned by root, and is read-only to anybody else. So, you then face a question: how do I put the data somewhere more appropriate, perhaps ~/.ccrb? In case of CC.rb, the data that needs to be kept elsewhere is in all of these places: * projects/ * tmp/ * some files in ./public (the cached pages), but not all of them * log/ * config/site_config.rb * builder_plugins/installed/ Clearly, Rails application structure was not designed with gem packaging in mind, either... In fact, the biggest benefit of gem packaging is in the version upgrades. But it comes with significant implementation and maintenance cost. We are still debating within CC.rb team whether we should do gem packaging or not. Personally, I think that we have more useful stories to do. Best regards, Alex Verkhovsky -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/2f591ffd/attachment.html
On 15 Mar 2007, at 07:32, Alexey Verkhovsky wrote:> > cruisecontrolrb-users-bounces at rubyforge.org wrote on 03/14/2007 > 11:06:21 PM: > > One question, is there a reason that it cannot be installed using > gem? > > Come on, guys (and gals), is "download and unzip" that much harder > than "gem install ccrb"? Especially, to anyone who have ever > installed a J2EE application? :) > > On a more serious note, we''ve been asked about this a lot, and here > is my 2 cents on it. > > > I''ve been through gem packaging with Instiki. It''s much more > complex than it seems, because gems are really intended for > packaging libraries and tools, not web applications that need to > persist data and configuration. > Installing an app through gems complicates data storage, because > now you have it in /usr/lib/ruby/gems, and on *nixes that directory > is owned by root, and is read-only to anybody else. > So, you then face a question: how do I put the data somewhere more > appropriate, perhaps ~/.ccrb? >Alexey, I think you are spot on - every downloadable full Rails app (Typo/ Mephisto as the first examples I can think of) come shipped as tar/ zip. I see exactly your point regarding gems and they definitely do not seem suited for an app that needs to persist a large amount of data. I don''t think anyone can give a good enough argument for having this ship as a gem, I agree the only angle on that may be upgrading to new versions - but this has never phased me on mephisto, just download the new package and unzip over the top. Just make sure all the example config files are named such that they don''t over-write any pre-existing config''s I''ve set up and its good to go. You guys shouldn''t waste time building a gem, spend the time on what is turning out to be a great application! Cheers, David -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/052e176e/attachment-0001.html
On 3/15/07, David Smalley <david.smalley.lists at googlemail.com> wrote:> > On 15 Mar 2007, at 07:32, Alexey Verkhovsky wrote: > > > cruisecontrolrb-users-bounces at rubyforge.org wrote on 03/14/2007 11:06:21 > PM: > > One question, is there a reason that it cannot be installed using gem? > > Come on, guys (and gals), is "download and unzip" that much harder than > "gem install ccrb"? Especially, to anyone who have ever installed a J2EE > application? :) > > On a more serious note, we''ve been asked about this a lot, and here is my > 2 cents on it. > > > I''ve been through gem packaging with Instiki. It''s much more complex than > it seems, because gems are really intended for packaging libraries and > tools, not web applications that need to persist data and configuration. > Installing an app through gems complicates data storage, because now you > have it in /usr/lib/ruby/gems, and on *nixes that directory is owned by > root, and is read-only to anybody else. > So, you then face a question: how do I put the data somewhere more > appropriate, perhaps ~/.ccrb? > > > Alexey, > > I think you are spot on - every downloadable full Rails app (Typo/Mephisto > as the first examples I can think of) come shipped as tar/zip. I see exactly > your point regarding gems and they definitely do not seem suited for an app > that needs to persist a large amount of data. > > I don''t think anyone can give a good enough argument for having this ship > as a gem, I agree the only angle on that may be upgrading to new versions - > but this has never phased me on mephisto, just download the new package and > unzip over the top. Just make sure all the example config files are named > such that they don''t over-write any pre-existing config''s I''ve set up and > its good to go. > > You guys shouldn''t waste time building a gem, spend the time on what is > turning out to be a great application! > > Cheers, > > David > > _______________________________________________ > Cruisecontrolrb-users mailing list > Cruisecontrolrb-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > >Well, having it as a gem is like you guys spend time once, and everyone else can enjoy the result. It might take you 1 day to automate the process, 10 minutes to build it, and 10 hours a month to maintain this automated building system, but it is going to save all of CCRB user 2 hours to figure out what to do the first time, 1 hour trying to do it right, and all of the later maintenances that''s caused by CCRB''s changes. If you think about it, its a big saving in time, and a great marketing strategy for you to promote ccrb even further. It''s like you are able to sell your product with more sales channels, and more types of packaging. Because not everyone is interested in the same flavor. Lei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/77cef786/attachment.html
On 15 Mar 2007, at 17:04, Lei Sun wrote:> but it is going to save all of CCRB user 2 hours to figure out what > to do the first time, 1 hour trying to do it right, and all of the > later maintenances that''s caused by CCRB''s changes. If you think > about it, its a big saving in time, and a great marketing strategy > for you to promote ccrb even further.I''d disagree that packaging as a gem would actually save any time - all packaging it as a gem does is allow people to type "gem install xxxxx" - from them on they''d still need to follow the same procedure as anyone who''d unzipped a tarball and it would mean that the Cruisecontrol.rb team would actually have to write two sets of instructions to support the more complicated gem method of installing. The gem install would still involve creating a space for persistent storage somewhere accessible to the user. The instructions for CruiseControl are very straight forward and I don''t think using a gem would save anything other than having to go and find the URL to download the tarball. All I see is extra time for the ccrb team for no real gain for end users. Am I missing something? David -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/b3b68bf8/attachment.html
Alexey Verkhovsky
2007-Mar-15 17:30 UTC
[Cruisecontrolrb-users] greetings, and first question
> You guys shouldn''t waste time building a gem, spend the time on what > is turning out to be a great application!vs.> its a big saving in time, > and a great marketing strategy for you to promote ccrb even further.Is a nice summary of the gem contoversy. :) Alex -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/08921dbc/attachment.html
On 3/15/07, David Smalley <david.smalley.lists at googlemail.com> wrote:> > > On 15 Mar 2007, at 17:04, Lei Sun wrote: > > but it is going to save all of CCRB user 2 hours to figure out what to do > the first time, 1 hour trying to do it right, and all of the later > maintenances that''s caused by CCRB''s changes. If you think about it, its a > big saving in time, and a great marketing strategy for you to promote ccrb > even further. > > > I''d disagree that packaging as a gem would actually save any time - all > packaging it as a gem does is allow people to type "gem install xxxxx" - > from them on they''d still need to follow the same procedure as anyone who''d > unzipped a tarball and it would mean that the Cruisecontrol.rb team would > actually have to write two sets of instructions to support the more > complicated gem method of installing. The gem install would still involve > creating a space for persistent storage somewhere accessible to the user. > > The instructions for CruiseControl are very straight forward and I don''t > think using a gem would save anything other than having to go and find the > URL to download the tarball. All I see is extra time for the ccrb team for > no real gain for end users. Am I missing something? > > David > > > _______________________________________________ > Cruisecontrolrb-users mailing list > Cruisecontrolrb-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > >Well, not only gem install, also gem update! gem uninstall, gem install with dependency, etc. etc. There are scripts you use to setup and configure everything. Just think about it, if someone has all of their software installed using gem, all he/she needs to do to upgrade all of the software is ''gem update''. Even though unzipping is not hard for one software. If every software requires people to unzip, there is going to be an upgrade maintenance nightmare. That''s why there is a gem packaging system for ruby based software. Linux have package system, Freebsd has ports. People won''t be ticked off if you politely ask them where they want to setup the persistent storage once, and remember the config later, so they don''t have to worry about doing it everytime they install or upgrade. Plus, they don''t have to write an extra automating shell script to unzip the distro, and simple add one more entry to the original install script using gem install and gem update. Also, when you are running gem to install the gems, you usually set the env up, so that you have write privilege to the place you install them, normally either root, or your home dir. So there isn''t really a problem there. Lei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/872075f2/attachment.html
On 3/15/07, Lei Sun <lei.sun at gmail.com> wrote:> > > > On 3/15/07, David Smalley <david.smalley.lists at googlemail.com> wrote: > > > > > > On 15 Mar 2007, at 17:04, Lei Sun wrote: > > > > but it is going to save all of CCRB user 2 hours to figure out what to > > do the first time, 1 hour trying to do it right, and all of the later > > maintenances that''s caused by CCRB''s changes. If you think about it, its a > > big saving in time, and a great marketing strategy for you to promote ccrb > > even further. > > > > > > I''d disagree that packaging as a gem would actually save any time - all > > packaging it as a gem does is allow people to type "gem install xxxxx" - > > from them on they''d still need to follow the same procedure as anyone who''d > > unzipped a tarball and it would mean that the Cruisecontrol.rb team > > would actually have to write two sets of instructions to support the more > > complicated gem method of installing. The gem install would still involve > > creating a space for persistent storage somewhere accessible to the user. > > > > The instructions for CruiseControl are very straight forward and I don''t > > think using a gem would save anything other than having to go and find the > > URL to download the tarball. All I see is extra time for the ccrb team for > > no real gain for end users. Am I missing something? > > > > David > > > > > > _______________________________________________ > > Cruisecontrolrb-users mailing list > > Cruisecontrolrb-users at rubyforge.org > > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > > > > > > Well, not only gem install, also gem update! gem uninstall, gem install > with dependency, etc. etc. There are scripts you use to setup and configure > everything. > > Just think about it, if someone has all of their software installed using > gem, all he/she needs to do to upgrade all of the software is ''gem update''. > > Even though unzipping is not hard for one software. If every software > requires people to unzip, there is going to be an upgrade maintenance > nightmare. > > That''s why there is a gem packaging system for ruby based software. Linux > have package system, Freebsd has ports. > > People won''t be ticked off if you politely ask them where they want to > setup the persistent storage once, and remember the config later, so they > don''t have to worry about doing it everytime they install or upgrade. Plus, > they don''t have to write an extra automating shell script to unzip the > distro, and simple add one more entry to the original install script using > gem install and gem update. > > Also, when you are running gem to install the gems, you usually set the > env up, so that you have write privilege to the place you install them, > normally either root, or your home dir. So there isn''t really a problem > there. > > LeiOh, Plus, it will save you tons of SUPPORT TIME and all the people from this list to answer the novice question about how to install the thing every time when there is some change. Lei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20070315/2052d617/attachment-0001.html