mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
42 lines
1.4 KiB
Python
Executable File
42 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python2.7 -u
|
|
import subprocess
|
|
import os
|
|
import sys
|
|
import logging
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))
|
|
from zulip_tools import FAIL, WARNING, ENDC, su_to_zulip
|
|
|
|
logging.basicConfig(format="%(asctime)s upgrade-zulip-stage-2: %(message)s",
|
|
level=logging.INFO)
|
|
|
|
if os.getuid() != 0:
|
|
logging.error("Must be run as root.")
|
|
sys.exit(1)
|
|
|
|
if len(sys.argv) != 2:
|
|
print FAIL + "Usage: %s <deploy path>" % (sys.argv[0],) + ENDC
|
|
sys.exit(1)
|
|
|
|
deploy_path = sys.argv[1]
|
|
|
|
logging.info("Upgrading system packages...")
|
|
subprocess.check_call(["apt-get", "update"])
|
|
subprocess.check_call(["apt-get", "upgrade"])
|
|
|
|
logging.info("Stopping Zulip...")
|
|
subprocess.check_call(["supervisorctl", "stop", "zulip-workers:*", "zulip-django",
|
|
"zulip-tornado"], preexec_fn=su_to_zulip)
|
|
|
|
logging.info("Applying puppet changes...")
|
|
subprocess.check_call(["./scripts/zulip-puppet-apply", "--force"])
|
|
subprocess.check_call(["apt-get", "upgrade"])
|
|
|
|
logging.info("Applying database migrations...")
|
|
subprocess.check_call(["./manage.py", "migrate"], preexec_fn=su_to_zulip)
|
|
|
|
logging.info("Restarting Zulip...")
|
|
subprocess.check_call(["cp", "-rT", os.path.join(deploy_path, 'prod-static/serve'),
|
|
'/home/zulip/prod-static'], preexec_fn=su_to_zulip)
|
|
subprocess.check_output(["./scripts/restart-server"], preexec_fn=su_to_zulip)
|