This project is a proof of concept and intellectual excercise to demonstrate the use of SSH daemons and beanstalkd to maintain git repositories mapped to project module projects.
- Twisted 10.1.0
- Versioncontrol Git (and all dependencies)
- Versioncontrol Project (and all dependencies)
- Drush
All install instructions are Ubuntu / Debian focused.
- On Ubuntu,
apt-get install python-twisted
- Ensure that you have easy_install installed (on debian/ubuntu
apt-get install python-dev python-setuptools
). - Download Twisted 10.1.0
wget http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.tar.bz2
- Untar Twisted
tar -xvf Twisted-10.1.0.tar.bz2
- Move into the Twisted directory
cd Twisted-10.1.0
- Run the Twisted installer
pyton setup.py install
- Copy the default configuration file into the etc folder
cp drupaldaemons.cnf.default /etc/drupaldaemons.cnf
- Configure the daemon in the drupaldaemons.cnf to properly point to a local directory on your system and at your Drupal site where where Versioncontrol Project is installed and in use to manage permissions for your repositories.
For testing, the daemon can be started by moving into the root of this repository and typing ./drupalGitSSHDaemon.py
For a proper deployment, twistd should be used to run the daemon. If you have installed twisted via packages for your ditribution, you should have one init.d script that manages all of your twisted services. All you have to do is add the following line to the twistd configuration (usually located in /etc/conf.d/twistd
). Replace [uid] and [gid] with the user and group you would like to use to run the daemon and replace the path with the path where you checked out this repository. Don't forget to ensure that the user and group you are using have write access to the folder you specified in your config file.
TWISTD_OPTS="--uid [uid] --gid [gid] -y /usr/local/bin/Drupal.org-Git-Daemons/drupalGitSSHDaemon.tac"
Next, run sudo /etc/init.d/twistd restart
The former beanstalkd repository manager has been deprecated in favor of the Versioncontrol Git Repository Module now included in the VersionControl Git Backend.