87 lines
2.3 KiB
Bash
87 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
GITHUB_USER=${GITHUB_USER:-jbox-web}
|
|
GITHUB_PROJECT=${GITHUB_PROJECT:-redmine_git_hosting}
|
|
|
|
GITHUB_SOURCE="${GITHUB_USER}/${GITHUB_PROJECT}"
|
|
PLUGIN_PATH=${PLUGIN_PATH:-$GITHUB_SOURCE}
|
|
PLUGIN_NAME=${PLUGIN_NAME:-$GITHUB_PROJECT}
|
|
PLUGIN_DIR="redmine/plugins/${PLUGIN_NAME}"
|
|
CONTRIB_DATA_DIR="${PLUGIN_DIR}/contrib/travis/data"
|
|
|
|
function install_plugin() {
|
|
install_plugin_libs
|
|
move_plugin
|
|
install_database
|
|
install_rspec
|
|
install_plugin_dependencies
|
|
}
|
|
|
|
|
|
## PRIVATE
|
|
|
|
function install_plugin_libs() {
|
|
log_title "INSTALL ADDITIONAL PACKAGES"
|
|
sudo apt-get install -qq libicu-dev libssh2-1 libssh2-1-dev cmake
|
|
log_ok
|
|
}
|
|
|
|
function move_plugin() {
|
|
log_title "MOVE PLUGIN"
|
|
# Move GITHUB_USER/GITHUB_PROJECT to redmine/plugins dir
|
|
mv "${PLUGIN_PATH}" "${REDMINE_NAME}/plugins"
|
|
# Remove parent dir (GITHUB_USER)
|
|
rmdir $(dirname ${PLUGIN_PATH})
|
|
log_ok
|
|
|
|
log_title "CREATE SYMLINK"
|
|
ln -s "${REDMINE_NAME}" "redmine"
|
|
log_ok
|
|
}
|
|
|
|
function install_database() {
|
|
log_title "INSTALL DATABASE FILE"
|
|
if [ "$DATABASE_ADAPTER" == "mysql" ] ; then
|
|
echo "Type : mysql"
|
|
cp "${CONTRIB_DATA_DIR}/db_files/database_mysql.yml" "redmine/config/database.yml"
|
|
else
|
|
echo "Type : postgres"
|
|
cp "${CONTRIB_DATA_DIR}/db_files/database_postgres.yml" "redmine/config/database.yml"
|
|
fi
|
|
|
|
log_ok
|
|
}
|
|
|
|
function install_rspec() {
|
|
log_title "INSTALL RSPEC FILE"
|
|
mkdir "redmine/spec"
|
|
cp "${PLUGIN_DIR}/spec/root_spec_helper.rb" "redmine/spec/spec_helper.rb"
|
|
log_ok
|
|
}
|
|
|
|
function install_plugin_dependencies() {
|
|
git_clone 'additionals' 'https://github.com/AlphaNodes/additionals.git'
|
|
git_clone 'redmine_sidekiq' 'https://github.com/ogom/redmine_sidekiq.git'
|
|
install_ssh_key
|
|
install_gitolite
|
|
}
|
|
|
|
function install_ssh_key() {
|
|
log_title "INSTALL ADMIN SSH KEY"
|
|
ssh-keygen -N '' -f "${PLUGIN_DIR}/ssh_keys/redmine_gitolite_admin_id_rsa"
|
|
log_ok
|
|
}
|
|
|
|
function install_gitolite() {
|
|
log_title "INSTALL GITOLITE V3"
|
|
|
|
sudo useradd --create-home git
|
|
sudo -n -u git -i git clone https://github.com/sitaramc/gitolite.git
|
|
sudo -n -u git -i mkdir bin
|
|
sudo -n -u git -i gitolite/install -to /home/git/bin
|
|
sudo cp "${PLUGIN_DIR}/ssh_keys/redmine_gitolite_admin_id_rsa.pub" /home/git/
|
|
sudo chown git.git /home/git/redmine_gitolite_admin_id_rsa.pub
|
|
sudo -n -u git -i gitolite setup -pk redmine_gitolite_admin_id_rsa.pub
|
|
|
|
log_ok
|
|
}
|