Commit 3f9ee97289919453281818e082b6fbbacbf68e4d

Authored by Antonio Terceiro
1 parent 2f02a818

git-upgrade: reuse features of script/production

This is still untested in practice. I intend to do that when I get a
chance to play with putting up a git-based instance for the Noosfero
website.
Showing 1 changed file with 14 additions and 96 deletions   Show diff stats
script/git-upgrade
@@ -2,105 +2,23 @@ @@ -2,105 +2,23 @@
2 2
3 set -e 3 set -e
4 4
5 -export RAILS_ENV=production  
6 -  
7 say(){ 5 say(){
8 - echo -e "\033[33;01m$0: $1\033[m"  
9 -}  
10 -  
11 -get_value(){  
12 - ruby -ryaml -e "puts YAML.load_file('config/database.yml')['$RAILS_ENV']['$1']"  
13 -}  
14 -  
15 -usage(){  
16 - echo "usage: $0 [OPTIONS]"  
17 - echo  
18 - echo "Options:"  
19 - echo  
20 - echo " -s, --shell Opens a shell just after upgrading code and"  
21 - echo " database to make manual steps if needed"  
22 - echo  
23 - echo " -h, --help Displays the help (this screen)"  
24 - echo  
25 - echo " -v, --version Displays Noosfero current version"  
26 - echo  
27 - exit $1  
28 -}  
29 -  
30 -version(){  
31 - version=$(ruby -Ilib -rnoosfero -e 'puts Noosfero::VERSION')  
32 - echo "Noosfero version $version"  
33 - exit 0  
34 -}  
35 -  
36 -stop_service(){  
37 - say "Stopping service"  
38 - ./script/production stop || say "Stop failed, trying to continue anyway"  
39 - sudo /etc/init.d/memcached restart  
40 -}  
41 -  
42 -start_service(){  
43 - say "Starting service"  
44 - ./script/production start  
45 -}  
46 -  
47 -upgrade_code(){  
48 - say "Upgrading code"  
49 -  
50 - # db:migrate always changes this  
51 - git checkout db/schema.rb  
52 -  
53 - git pull --quiet  
54 -  
55 - say "Compiling translations"  
56 - rake noosfero:translations:compile 2>/dev/null || (echo "Translations compilation failed; run manually to check"; false)  
57 -  
58 - # remove cached files  
59 - rm -f public/javascripts/cache*.js  
60 - rm -f public/stylesheets/cache*.css 6 + if [ -t 1 ]; then
  7 + printf "\033[33;01m$0: $1\033[m\n"
  8 + fi
61 } 9 }
62 10
63 -upgrade_database(){  
64 - say "Upgrading database"  
65 -  
66 - rake db:migrate 11 +say "Upgrading code"
67 12
68 - if test "$shell" = "yes"; then  
69 - echo "################################################"  
70 - echo "# Noosfero upgrade shell #"  
71 - echo "################################################"  
72 - echo "# #"  
73 - echo "# If you need to do any manual steps during #"  
74 - echo "# this upgrade, now is the time. #"  
75 - echo "# #"  
76 - echo "# After you finish, just exit this shell and #"  
77 - echo "# the upgrade will proceed #"  
78 - echo "################################################"  
79 - export PS1="[Noosfero upgrade] $PS1"  
80 - bash --rcfile config/bashrc  
81 - fi  
82 -} 13 +last_passed=$(curl --silent --fail http://ci.noosfero.org/noosfero/LAST_SUCCESS_HEAD || true)
  14 +if [ -n "$last_passed" ]; then
  15 + git fetch
  16 + git reset --hard "$last_passed"
  17 +else
  18 + exit
  19 +fi
83 20
84 -shell=no  
85 -while test $# -gt 0; do  
86 - case "$1" in  
87 - -s|--shell)  
88 - shell=yes  
89 - ;;  
90 - -h|--help)  
91 - usage 0  
92 - ;;  
93 - -v|--version)  
94 - version  
95 - ;;  
96 - *)  
97 - usage 1  
98 - ;;  
99 - esac  
100 - shift  
101 -done 21 +say "Compiling translations"
  22 +rake noosfero:translations:compile 2>/dev/null || (echo "Translations compilation failed; run manually to check"; false)
102 23
103 -stop_service  
104 -upgrade_code  
105 -upgrade_database  
106 -start_service 24 +./script/production restart