forked from backlogs/redmine_backlogs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrbl-reinstall
executable file
·132 lines (114 loc) · 3.18 KB
/
rbl-reinstall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/bash
CONFIG="$( cd "$( dirname "$0" )" && pwd )"
CONFIG="$CONFIG/rbl-reinstall.rc"
if [ ! -f $CONFIG ]; then
echo "$CONFIG does not exist"
exit
fi
source $CONFIG
if [ -z "$VERSION" ]; then
echo "VERSION not set"
exit
fi
if [ -z "$DBROOTPW" ]; then
echo "DBROOTPW not set"
exit
fi
if [ -z "$DBPW" ]; then
echo "DBPW not set"
exit
fi
if [ ! -d ~/redmine ]; then
echo "~/redmine does not exist"
exit
fi
cd ~/redmine
if [ ! -f ~/redmine/setup/database.yml ]; then
echo "~/redmine/setup/database.yml does not exist"
exit
fi
if [ ! -d ~/redmine/redmine_backlogs ]; then
echo "~/redmine/redmine_backlogs does not exist"
exit
fi
# ruby env
if [ -z "$RVM" ]; then
read -p "Reinstall RVM? " RVM
fi
if [[ $RVM =~ [Yy] ]]; then
#RUBYVER=1.8.7
#echo "Installing ruby $RUBYVER"
#rvm use system
#rvm remove $RUBYVER
#rvm install $RUBYVER
#rvm use --default $RUBYVER
#echo 'Ruby installation done'
rvm --force gemset empty global
echo 'Downgrading rubygems'
rvm rubygems 1.3.7
echo 'Installing base gems'
rvm gem install mysql
rvm gem install rack -v=1.0.1
rvm gem install rails -v=2.3.5
rvm gem install rmagick
rvm gem install -v=0.4.2 i18n
rvm gem install icalendar
rvm gem install prawn
rvm gem install holidays
fi
# redmine
if [ ! -f ~/redmine/redmine/config/database.yml ]; then
echo Forced RM install
RM=Y
elif [ -z "$RM" ]; then
read -p "Reinstall Redmine? " RM
fi
if [[ $RM =~ [Yy] ]]; then
rm -rf ~/redmine/redmine
cd ~/redmine
git clone git://github.com/edavis10/redmine.git
cd ~/redmine/redmine
git fetch --tags
git checkout $VERSION
cp ~/redmine/setup/database.yml ~/redmine/redmine/config
ln -s ~/redmine/redmine_backlogs ~/redmine/redmine/vendor/plugins
ln -s ~/redmine/redmine_backlogs/features ~/redmine/redmine
fi
# dev
if [ -z "$DEV" ]; then
read -p "Dev environment? " DEV
fi
if [[ $DEV =~ [Yy] ]]; then
rvm gem install -v=1.3.1 rspec
rvm gem install -v=0.8.5 cucumber
rvm gem install spork
rvm gem install database_cleaner
rvm gem install capybara
rvm gem install ZenTest
rvm gem install autotest-rails
rvm gem install redgreen
rvm gem install rcov
rvm gem install -v=1.3.3 rspec-rails
rvm gem install -v=0.3.2 cucumber-rails
# cucumber-rails pulls in an unnecesary gherkin
rvm gem uninstall gherkin -v=2.3.5
cd ~/redmine/redmine
[ -f ~/redmine/redmine/config/environments/cucumber.rb ] || script/generate cucumber --spork
fi
# database
if [ -z "$DB" ]; then
read -p "Reinstall database? " DB
fi
if [[ $DB =~ [Yy] ]]; then
mysqladmin -u root -p$DBROOTPW drop redmine
echo "create database redmine character set utf8;" | mysql -u root -p$DBROOTPW mysql
echo "create user 'redmine'@'localhost' identified by '$DBPW';" | mysql -u root -p$DBROOTPW mysql
echo "grant all privileges on redmine.* to 'redmine'@'localhost';" | mysql -u root -p$DBROOTPW mysql
cd ~/redmine/redmine
rake generate_session_store
rake db:migrate
rake redmine:load_default_data
rake db:migrate:upgrade_plugin_migrations
rake db:migrate_plugins
rake redmine:backlogs:install
fi