1.6 KiB
redmine_repository_fetch
Redmine plugin to automatically clone and fetch referenced repositories.
Installation
Currently the plugin hardcodes this config, change it for your use-case:
PATTERNS = [
{ :pattern => "/redmine_git_fetch/github.com/",
:uri_prefix => "git@github.com:",
:host => "github.com",
:key => "/home/redmine/data/keys/id_rsa"
},
{ :pattern => "/redmine_git_fetch/gitlab.com/",
:uri_prefix => "git@gitlab.com:",
:host => "gitlab.com",
:key => "/home/redmine/data/keys/id_rsa"
},
{ :pattern => "/redmine_git_fetch/git.ewdev.ca/",
:uri_prefix => "git@git.ewdev.ca:",
:host => "git.ewdev.ca",
:key => "/home/redmine/data/keys/id_rsa"
}
]
Be sure to populate the appropriate keys for your redmine user (www-data, redmine, etc),
either in ~/.ssh
or in the place specified by the PATTERNS[x][:key]
property.
Usage
Add /redmine_git_fetch/github.com/evolvingweb/sitediff.git
to a repo. The
plugin will automatically detect the prefix /redmine_git_fetch/github.com/
and figure out it needs to clone git@github.com:evolvingweb/sitediff.git
.
If it's already cloned it will fetch instead. In all cases you need to specify
a path to a private key to use, since all clones happen over SSH.
Note that /redmine_git_fetch
folder will get auto-created.
The plugin currently doesn't fetch any repos outside its purview.
It also needs to be run as follows, probably from cron:
bundle exec rails runner "RepositoryFetch.fetch" -e production
Tested on Redmine 2.6.