 5fd46dce66
			
		
	
	5fd46dce66
	
	
	
		
			
			Summary: - Run "phd stop" before stopping apache. This is essentially a smoke test for PHABRICATOR_ENV being set. - Run documentation generation after everything else. Between the pull and the restart we have some minor exposure to APC issues with deleted files and out-of-date module definitions, and this limits that. - Pull commands out of (x && y) stuff, this prevents "set -e" from working correctly. Test Plan: Ran upgrade script locally. Reviewers: btrahan, jungejason Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D1419
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -e
 | |
| set -x
 | |
| 
 | |
| # This is an example script for updating Phabricator, similar to the one used to
 | |
| # update <https://secure.phabricator.com/>. It might not work perfectly on your
 | |
| # system, but hopefully it should be easy to adapt.
 | |
| 
 | |
| # NOTE: This script assumes you are running it from a directory which contains
 | |
| # arcanist/, libphutil/, phabricator/, and possibly diviner/.
 | |
| 
 | |
| ROOT=`pwd` # You can hard-code the path here instead.
 | |
| 
 | |
| ### UPDATE WORKING COPIES ######################################################
 | |
| 
 | |
| if [ -e $ROOT/diviner ]
 | |
| then
 | |
|   cd $ROOT/diviner
 | |
|   git pull
 | |
| fi
 | |
| 
 | |
| cd $ROOT/libphutil
 | |
| git pull
 | |
| 
 | |
| cd $ROOT/arcanist
 | |
| git pull
 | |
| 
 | |
| cd $ROOT/phabricator
 | |
| git pull
 | |
| git submodule update --init
 | |
| 
 | |
| 
 | |
| ### RUN TESTS ##################################################################
 | |
| 
 | |
| # This is an acceptance test that makes sure all symbols can be loaded to
 | |
| # avoid issues like missing methods in descendants of abstract base classes.
 | |
| cd $ROOT/phabricator
 | |
| ../arcanist/bin/arc unit src/infrastructure/__tests__/
 | |
| 
 | |
| 
 | |
| ### CYCLE APACHE AND DAEMONS ###################################################
 | |
| 
 | |
| # Stop daemons.
 | |
| $ROOT/phabricator/bin/phd stop
 | |
| 
 | |
| # Stop Apache. Depening on what system you're running, you may need to use
 | |
| # 'apachectl' or something else to cycle apache.
 | |
| sudo /etc/init.d/httpd stop
 | |
| 
 | |
| # Upgrade the database schema.
 | |
| $ROOT/phabricator/scripts/sql/upgrade_schema.php -f
 | |
| 
 | |
| # Restart apache.
 | |
| sudo /etc/init.d/httpd start
 | |
| 
 | |
| # Restart daemons. Customize this to start whatever daemons you're running on
 | |
| # your system.
 | |
| 
 | |
| # $ROOT/phabricator/bin/phd repository-launch-master
 | |
| # $ROOT/phabricator/bin/phd launch metamta
 | |
| # $ROOT/phabricator/bin/phd launch garbagecollector
 | |
| # $ROOT/phabricator/bin/phd launch 4 taskmaster
 | |
| # $ROOT/phabricator/bin/phd launch ircbot /config/bot.json
 | |
| 
 | |
| 
 | |
| ### GENERATE DOCUMENTATION #####################################################
 | |
| 
 | |
| # This generates documentation if you have diviner/ checked out. You generally
 | |
| # don't need to do this unless you're contributing to Phabricator and want to
 | |
| # preview some of the amazing documentation you've just written.
 | |
| if [ -e $ROOT/diviner ]
 | |
| then
 | |
|   cd $ROOT/diviner && $ROOT/diviner/bin/diviner .
 | |
|   cd $ROOT/libphutil && $ROOT/diviner/bin/diviner .
 | |
|   cd $ROOT/arcanist && $ROOT/diviner/bin/diviner .
 | |
|   cd $ROOT/phabricator && $ROOT/diviner/bin/diviner .
 | |
| fi
 |