Wiki Markup |
---|
The public-facing source code browsing engines are all running on src.mit.edu. |
...
Currently, there's also an instance of Artifactory, but this is going to be split off onto its own server once the new world order is in place. |
...
There are two server stacks running, the Fisheye server (which is their own hacked-up Tomcat running out of /home/fisheye and listening on port 8060, its default) and a conventional apache+tomcat setup that serves up Artifactory and OpenGrok. |
...
It's all linked to from the static html page served by apache from its htdoc directory. |
...
There are now rewrites in places that provide moderately seamless access via the obvious URLs: [http://src.mit.edu/fisheye], [http://src.mit.edu/opengrok], etc. |
...
*If it breaks, the brutally simple approach: |
...
* Try restarting; "/etc/init.d/web stop" will take down all of the above services, and "... start" will bring them all back. |
...
Some of them take quite a while to shut down, so make sure there are no running java processes before you restart. |
...
*If OpenGrok stops updating: |
...
* Every other hour, cron runs /home/opengrok/update-indices.sh, which logs to .../update-indices.log. |
...
All it's doing is a subversion checkout followed by a run of the update script; it should be fairly bombproof. |
...
Check the aforementioned log file for errors. |
...
*If Fisheye stops updating: |
...
* If it's not running at all, restart it per the above. |
...
Otherwise, everything is done via the GUI; the administration site is here: [http://src.mit.edu/fisheye/admin/], and you'll need the admin password, which is noted in the AMIT password repository. |
...
*When is an update not an update? |
...
* Currently, fisheye and opengrok provide an indexed krb5 repository, via the public repository. |
...
If the servers seem to be running OK but don't have current data, it's possible that that krb5 public repository synchronization has broken. |
...
To check this, run "svn info svn://anonsvn.mit.edu/krb5". |
...
That will tell you what's current on the public server, and can be contrasted with the real read-write repository with (if you have access) "svn info svn+ssh://svn.mit.edu/krb5". |
...
An example of what it looks like when things work; the critical thing to do is make sure they've both got the most current revision: |
...
{code |
} $ svn info svn://anonsvn.mit.edu/krb5 Path: krb5 URL: svn://anonsvn.mit.edu/krb5 Repository Root: svn://anonsvn.mit.edu/krb5 Repository UUID: dc483132-0cff-0310-8789-dd5450dbe970 Revision: 21454 Node Kind: directory Last Changed Author: tlyu Last Changed Rev: 21454 Last Changed Date: 2008-12-15 16:04:51 -0500 (Mon, 15 Dec 2008) $ svn info svn+ssh://svn.mit.edu/krb5 Path: krb5 URL: svn+ssh://svn.mit.edu/krb5 Repository Root: svn+ssh://svn.mit.edu/krb5 Repository UUID: dc483132-0cff-0310-8789-dd5450dbe970 Revision: 21454 Node Kind: directory Last Changed Author: tlyu Last Changed Rev: 21454 Last Changed Date: 2008-12-15 16:04:51 -0500 (Mon, 15 Dec 2008) {code} You can also compare these with the top entry in the "Recent Changelog" reported here: [http://src.mit.edu/fisheye/browse/krb5]; it's a bit less straightforward with opengrok, but if you go to the main site here: [http://src.mit.edu/opengrok/] and search on the most recent revision number, you'll see if it knows about it. |
...
You can also log in to src.mit.edu and run "svn info /home/opengrok/src/krb5". |
...
Note that fisheye updates very quickly but that opengrok does so only on a two-hour cycle, so some version skew is possible and expected. |
...
Adding browsable repositories:
...
---- ---- *Adding browsable repositories:* For *Fisheye*, this is easy, it's all by-the-book using the GUI. Mostly you just need the repository URL. Note that we only want to run it against public repositories for now. |
...
Each repository indexed by *opengrok* is served by a separate web application running on isda-maven1.mit.edu. |
...
To deploy a new application, you need to: |
...
# check out the source tree under /home/opengrok/src/<name> |
...
# make a copy of the indexing script that references the new names |
...
# index that source tree into /home/opengrok/data/<name> |
...
# add checkout/index maintenance to the cron job |
...
# add apache httpd.conf mod_jk glue for the new application |
...
# configure an instance of the web application to refer to the source and data directories defined above |
...
# install it in the source subdirectory of tomcat's webapp directory |
...
# add apache httpd.conf mod_jk glue for the new application |
...
# restart tomcat and httpd |
...
*Modifying opengrok applications: |
...
* The location for .war development for OpenGrok applications is in /home/opengrok/wars. |
...
You may want to modify the application to change, for instance, the appearance of header banners, icons, links, or whatever. |
...
Let's say you wanted to change the krb5 opengrok setup: you'd run: |
...
# cd /home/opengrok/wars/krb5 |
...
# \[edit stuff\] |
...
# zip \-r ../krb5.war * |
...
# cp \-f ../krb5.war /home/apache-tomcat-5.5.25/webapps/ |
...
Tomcat will automatically notice the new .war within a few seconds and unpack it; no further action is needed. \\ \\ |