I''m new to both CCrb and git. I pulled down the latest from the master thoughtworks repository on github, and after a few quick tweaks, I had a CCrb instance and running on mod_passenger. I added a project, a few more tweaks, it built. So far, so good! Here, though, are the things I''m not clear on... 1. When I set up my new project, I added it as ./cruise add projectname --repository git at devhost:projectname.git --source-control git Where do these parameters get stored? I don''t see any external managment of them. They go into the Project model, but there''s no database.yml, so from there, I''m lost Are they a side effect of CRUISE_DATA_ROOT/projects having a subfolder named for each project? 2. To get my project to build the first time, I had to manually do a "git submodule init;git submodule update"in the project''s work directory, to pull down the plugins from the master. Is this something that CCrb should be doing? I''d imagine it could need redoing over time, as the upstream versions change, but I''m not sure what part of the process should be doing that. 3. Now that it''s built... it built once, said it was happy, and that''s it. I can do a manual build via the web interface, and it works, but it doesn''t pull any new code down from the master (which is on the same server, as username git). The automatic build, which is supposed to poll every 20 seconds for updates, doesn''t seem to have done anything; here again, I''m hampered by not knowing what to look for. The logs don''t contain the string "git" at all. Where is that pull supposed to occur? Thanks for any pointers.. Jay Levitt
On 3 Sep 2008, at 12:11, Jay Levitt wrote:> I''m new to both CCrb and git. I pulled down the latest from the > master thoughtworks repository on github, and after a few quick > tweaks, I had a CCrb instance and running on mod_passenger. I > added a project, a few more tweaks, it built. So far, so good! > > Here, though, are the things I''m not clear on... > > 1. When I set up my new project, I added it as > > ./cruise add projectname --repository git at devhost:projectname.git -- > source-control git > > Where do these parameters get stored? I don''t see any external > managment of them. They go into the Project model, but there''s no > database.yml, so from there, I''m lost Are they a side effect of > CRUISE_DATA_ROOT/projects having a subfolder named for each project?Exactly. If you look at the code in app/model/Project, it just looks at the sub-folders of CRUISE_DATA_ROOT/projects and tries to load a project from each one. Cruise is basically using the file-system as its database, which is actually pretty neat - you can delete old build, for example, just by deleting the build-* folder in your project''s folder.> 2. To get my project to build the first time, I had to manually do > a "git submodule init;git submodule update"in the project''s work > directory, to pull down the plugins from the master. Is this > something that CCrb should be doing? I''d imagine it could need > redoing over time, as the upstream versions change, but I''m not > sure what part of the process should be doing that.We just started using sub-modules yesterday, and I just added a rake task to the :cruise task that does a system call to git submodule init/update on every build, just in case. I''m not sure if that''s the most appropriate approach, but it''s what we''re doing for now.> 3. Now that it''s built... it built once, said it was happy, and > that''s it. I can do a manual build via the web interface, and it > works, but it doesn''t pull any new code down from the master (which > is on the same server, as username git). The automatic build, > which is supposed to poll every 20 seconds for updates, doesn''t > seem to have done anything; here again, I''m hampered by not knowing > what to look for. The logs don''t contain the string "git" at all. > Where is that pull supposed to occur?Sorry, can''t help you with this one - ours works fine. I guess you need to check that the builder processes are running under an account with sufficient permission on your git repo folders. How exactly did you reference the repository? If you''re on the same machine you can use file paths which might make things simpler: e.g. ./cruise add projectname --repository /home/git/projectname -- source-control git> > Thanks for any pointers.. > > Jay Levitt > > _______________________________________________ > Cruisecontrolrb-users mailing list > Cruisecontrolrb-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-usersHTH cheers, Matt ---- http://blog.mattwynne.net http://songkick.com In case you wondered: The opinions expressed in this email are my own and do not necessarily reflect the views of any former, current or future employers of mine.
Chris Hapgood
2008-Sep-03 13:50 UTC
[Cruisecontrolrb-users] CCrb, GIT, and getting started
I too have added a git submodule init;git submodule update to my build scripts -but I''m not calling a rake task directly and I''m using the git-enabled branch of CC.rb from Ben Burkert instead of the Thoughtworks one. Seems like git submodules need some love in both cases. I would hope that the submodules would be init/updated as part of the scm updating process... -Chris On 3 Sep 2008, at 9:11, Matt Wynne wrote:> On 3 Sep 2008, at 12:11, Jay Levitt wrote: > >> I''m new to both CCrb and git. I pulled down the latest from the >> master thoughtworks repository on github, and after a few quick >> tweaks, I had a CCrb instance and running on mod_passenger. I >> added a project, a few more tweaks, it built. So far, so good! >> >> Here, though, are the things I''m not clear on... >> >> 1. When I set up my new project, I added it as >> >> ./cruise add projectname --repository git at devhost:projectname.git -- >> source-control git >> >> Where do these parameters get stored? I don''t see any external >> managment of them. They go into the Project model, but there''s no >> database.yml, so from there, I''m lost Are they a side effect of >> CRUISE_DATA_ROOT/projects having a subfolder named for each project? > > Exactly. If you look at the code in app/model/Project, it just looks > at the sub-folders of CRUISE_DATA_ROOT/projects and tries to load a > project from each one. Cruise is basically using the file-system as > its database, which is actually pretty neat - you can delete old > build, for example, just by deleting the build-* folder in your > project''s folder. > > >> 2. To get my project to build the first time, I had to manually do >> a "git submodule init;git submodule update"in the project''s work >> directory, to pull down the plugins from the master. Is this >> something that CCrb should be doing? I''d imagine it could need >> redoing over time, as the upstream versions change, but I''m not >> sure what part of the process should be doing that. > > We just started using sub-modules yesterday, and I just added a rake > task to the :cruise task that does a system call to git submodule > init/update on every build, just in case. I''m not sure if that''s the > most appropriate approach, but it''s what we''re doing for now. > > >> 3. Now that it''s built... it built once, said it was happy, and >> that''s it. I can do a manual build via the web interface, and it >> works, but it doesn''t pull any new code down from the master (which >> is on the same server, as username git). The automatic build, >> which is supposed to poll every 20 seconds for updates, doesn''t >> seem to have done anything; here again, I''m hampered by not knowing >> what to look for. The logs don''t contain the string "git" at all. >> Where is that pull supposed to occur? > > Sorry, can''t help you with this one - ours works fine. I guess you > need to check that the builder processes are running under an > account with sufficient permission on your git repo folders. How > exactly did you reference the repository? If you''re on the same > machine you can use file paths which might make things simpler: > > e.g. ./cruise add projectname --repository /home/git/projectname -- > source-control git >> >> Thanks for any pointers.. >> >> Jay Levitt >> >> _______________________________________________ >> Cruisecontrolrb-users mailing list >> Cruisecontrolrb-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > > > HTH > > cheers, > Matt > ---- > http://blog.mattwynne.net > http://songkick.com > > In case you wondered: The opinions expressed in this email are my > own and do not necessarily reflect the views of any former, current > or future employers of mine. > > _______________________________________________ > Cruisecontrolrb-users mailing list > Cruisecontrolrb-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users >Chris Hapgood cch1 at hapgoods.com
Matt Wynne wrote:> On 3 Sep 2008, at 12:11, Jay Levitt wrote: > >> I''m new to both CCrb and git. I pulled down the latest from the master >> thoughtworks repository on github, and after a few quick tweaks, I had >> a CCrb instance and running on mod_passenger. I added a project, a >> few more tweaks, it built. So far, so good! >> >> Here, though, are the things I''m not clear on... >> >> 1. When I set up my new project, I added it as >> >> ./cruise add projectname --repository git at devhost:projectname.git >> --source-control git >> >> Where do these parameters get stored? I don''t see any external >> managment of them. They go into the Project model, but there''s no >> database.yml, so from there, I''m lost Are they a side effect of >> CRUISE_DATA_ROOT/projects having a subfolder named for each project? > > Exactly. If you look at the code in app/model/Project, it just looks at > the sub-folders of CRUISE_DATA_ROOT/projects and tries to load a project > from each one. Cruise is basically using the file-system as its > database, which is actually pretty neat - you can delete old build, for > example, just by deleting the build-* folder in your project''s folder.Yes, that is nice and clean.. you don''t have to keep things in sync if you rely on the underlying data in the first place! Where does it store things like the repository name, scm type, etc? I did an "ack --all -i git /srv/cruiserb --ignore-dir=work", and came up with zilch.>> 3. Now that it''s built... it built once, said it was happy, and that''s >> it. I can do a manual build via the web interface, and it works, but >> it doesn''t pull any new code down from the master (which is on the >> same server, as username git). The automatic build, which is supposed >> to poll every 20 seconds for updates, doesn''t seem to have done >> anything; here again, I''m hampered by not knowing what to look for. >> The logs don''t contain the string "git" at all. Where is that pull >> supposed to occur? > > Sorry, can''t help you with this one - ours works fine. I guess you need > to check that the builder processes are running under an account with > sufficient permission on your git repo folders. How exactly did you > reference the repository? If you''re on the same machine you can use file > paths which might make things simpler: > > e.g. ./cruise add projectname --repository /home/git/projectname -- > source-control gitAh, interesting. I''m running CC under mod_rails/Passenger, and I''ve noticed some builder oddities; for instance, it loses track of its builder when I restart Apache, and then, naturally, it complains about the lock file. I will try switching to a plain-old Ruby cruiserb daemon and see if that solves the problem. I was using an ssh-style path for the repository - e.g. ./cruise add project --repository git at dev.example.com:project.git --source-control git which worked well enough to pull the changes in the first place, but maybe that doesn''t work for future pull requests, for whatever reason. I''ll try the filesystem path instead.>> >> Thanks for any pointers.. >> >> Jay Levitt >> >> _______________________________________________ >> Cruisecontrolrb-users mailing list >> Cruisecontrolrb-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > > > HTH > > cheers, > Matt > ---- > http://blog.mattwynne.net > http://songkick.com > > In case you wondered: The opinions expressed in this email are my own > and do not necessarily reflect the views of any former, current or > future employers of mine. > > _______________________________________________ > Cruisecontrolrb-users mailing list > Cruisecontrolrb-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
Chris Hapgood wrote:> I too have added a > > git submodule init;git submodule update > > to my build scriptsI was thinking of having my rake task run that only if the plugin dirs are empty. This solves the initial problem of a fresh git clone. It doesn''t solve later problems when new submodules are added - but neither does it UNsolve the "I cloned against HEAD of acts_as_plugin, and the developer just changed things" problem that svn:externals has, and that submodules solves so nicely. > -but I''m not calling a rake task directly and I''m> using the git-enabled branch of CC.rb from Ben Burkert instead of the > Thoughtworks one.And I should clarify that I am, in fact, using the Thoughtworks branch/tree/whatever from github. Which reminds me - Thoughtworks, do you prefer patches as patches, forks and pull requests, no idea yet? I''ve noticed a few minor things that need polish, and I also want to get this working well in a non-rooted URL, since I use it over HTTPS, and NameVirtualHosts on HTTPS are a nightmare, even with wildcard certs.> Seems like git submodules need some love in both cases. I would hope > that the submodules would be init/updated as part of the scm updating > process...I''ve seen some talk around the web of piston being updated for git, and of a new thing called braid, but neither seem to be soup yet. Jay
Jeremy Lightsmith
2008-Sep-03 16:16 UTC
[Cruisecontrolrb-users] CCrb, GIT, and getting started
forks and pull requests are probably the easiest for everyone involved Jeremy On Wed, Sep 3, 2008 at 7:30 AM, Jay Levitt <lists-cruiserb at jay.fm> wrote:> Chris Hapgood wrote: > >> I too have added a >> >> git submodule init;git submodule update >> >> to my build scripts >> > > I was thinking of having my rake task run that only if the plugin dirs are > empty. This solves the initial problem of a fresh git clone. It doesn''t > solve later problems when new submodules are added - but neither does it > UNsolve the "I cloned against HEAD of acts_as_plugin, and the developer just > changed things" problem that svn:externals has, and that submodules solves > so nicely. > > > -but I''m not calling a rake task directly and I''m > >> using the git-enabled branch of CC.rb from Ben Burkert instead of the >> Thoughtworks one. >> > > And I should clarify that I am, in fact, using the Thoughtworks > branch/tree/whatever from github. > > Which reminds me - Thoughtworks, do you prefer patches as patches, forks > and pull requests, no idea yet? I''ve noticed a few minor things that need > polish, and I also want to get this working well in a non-rooted URL, since > I use it over HTTPS, and NameVirtualHosts on HTTPS are a nightmare, even > with wildcard certs. > > Seems like git submodules need some love in both cases. I would hope that >> the submodules would be init/updated as part of the scm updating process... >> > > I''ve seen some talk around the web of piston being updated for git, and of > a new thing called braid, but neither seem to be soup yet. > > Jay > > _______________________________________________ > Cruisecontrolrb-users mailing list > Cruisecontrolrb-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20080903/d858319d/attachment.html>
Alexey Verkhovsky
2008-Sep-03 17:27 UTC
[Cruisecontrolrb-users] CCrb, GIT, and getting started
cruisecontrolrb-users-bounces at rubyforge.org wrote on 09/03/2008 08:30:18 AM:> Which reminds me - Thoughtworks, do you prefer patches as patches, forksand> pull requests, no idea yet?Whatever is more comfortable for you. -- Alex -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/cruisecontrolrb-users/attachments/20080903/ead1b302/attachment.html>