2.0 KiB
redmine_git_remote
Redmine plugin to automatically clone and remote git repositories.
Installation
Install the plugin as usual:
cd REDMINE_ROOT/plugins
git clone https://github.com/dergachev/redmine_git_remote
Be sure to install the appropriate SSH keys to ~/.ssh/id_rsa
(for your redmine user).
I recommend creating a dedicated deployment user on github/gitlab for this purpose.
Usage
This plugin defines a new repository type, GitFetch, which allows you to associate a remote repository with your Redmine project. First create a new repository of type GitFetch, enter the clone URL. The identifier and path will be auto-generated, but can be overriden.
On submitting the repository creation form, the identifier and url
(filesystem path) fields will be auto-generated (if not explicitly provided) as follows:
Clone URL: https://github.com/dergachev/vagrant-vbox-snapshot
URL (filesystem path): REDMINE_PLUGINS_PATH/redmine_git_remote/repos/github.com/dergachev/vagrant-vbox-snapshot
Identifier: vagrant-vbox-snapshot
Once the remote URL is validated, the plugin creates an "empty clone" at the specified path.
This plugin hooks into the core Repository.fetch_changesets
to automatically
run git fetch --all
on all GitRemote managed repositories, before those
commits are imported into Redmine. To avoid slowing down the GUI, we recommend
unchecking the "Fetch commits automatically" setting at
http://redmine-root/settings?tab=repositories
and relying on the following cron job as per Redmine Wiki Instructions:
cd /home/redmine/redmine && ./script/rails runner \"Repository.fetch_changesets\" -e production >> log/cron_rake.log 2>&1
Note GitRemote doesn't delete the cloned repos when the associated record is deleted from Redmine.
Tested on Redmine 2.6.