Commit 3f9ee97289919453281818e082b6fbbacbf68e4d
1 parent
2f02a818
Exists in
master
and in
29 other branches
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 |