ROSE Compiler Framework/System Administration

Manual restart process
In case the @reboot cron jobs were not properly saved on [hudson-rose-30], please


 * Start Jenkins


 * Start Redmine

Both scripts should start a screen for each service.


 * Check status


 * Github

Please also ensure that Github is started on [rose-git]. I'd imagine you may have to start the VM again.

=Apache Tomcat= The Apache Tomcat servlet is run locally on hudson-rose-30.

Startup
startup.sh calls catalina.sh start which sources our custom jenkins-env.sh.

hudson-rose-30 $ /export/tmp.hudson-rose/applications/apache/tomcat/bin/startup.sh

Backup
The local installation is synced by Jenkins to the NFS at /home/hudson-rose/Applications/apache/tomcat/.

=Ruby=

RVM (Ruby Version Manager)
Ruby Version Manager (RVM), https://rvm.io/.

1. Download rvm-installer:

2. Install RVM to a local user location (i.e. not to a root/sudo location like /usr or <tt>/bin</tt>):

First, disable the SSL certificate check for cURL, used in the <tt>rvm-installer</tt>, since it could be a problem when behind a firewall. You can do this step manually (recommended), or using this ad-hoc script:

Second, set the <tt>rvm_path</tt> environment variable to specify your installation location (similar to <tt>--prefix</tt> for Autoconf projects):

Finally, install RVM:

3. Use RVM: Now, we can use RVM (as instructed by the above RVM installation message):

For example,

Install Ruby:

=Boost=

=Gitolite=

Sitaramc's Gitolite software (https://github.com/sitaramc/gitolite/) "allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features." See the documentation for more details.

Here are some benefits of Gitolite-hosted Git repositories compared to filesystem-hosted repositories:


 * Authorized access only: SSH key-pairs for authentication purposes
 * Only Git operations permitted: nobody is allowed to modify the Git repositories on the server (e.g. change permissions, manually manipulate the bare repository's index, etc.). This is achieved by restricting remote commands over SSH using the <tt>command</tt> keyword in the <tt>${HOME}/.ssh/authorized_keys</tt> file of the Gitolite user account on the Gitolite server. See this brief guide for more details.

Note: Gitolite is purely a software tool to host Git repositories. It does not provide code review, issue tracking, a web interface, or repository wikis, etc.