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 2  
3 3 set -e
4 4  
5   -export RAILS_ENV=production
6   -
7 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
... ...