forked from RocketChat/Rocket.Chat
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
67a7f8d
commit 57617eb
Showing
3 changed files
with
109 additions
and
118 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,41 @@ | ||
#!/bin/bash | ||
|
||
AWS="/usr/local/bin/aws" | ||
AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION_ENVSUBST | ||
RC_DIR=$RC_DIR_ENVSUBST | ||
RC_FILE=$RC_TARBALL_ENVSUBST | ||
S3_BUCKET=$S3_BUCKET_ENVSUBST | ||
|
||
set -e | ||
|
||
echo "run pre" | ||
# Clean old RC dirs and create new | ||
prepare_directories () { | ||
echo "Removing previous release's directories..." | ||
sudo rm -rf $RC_DIR-{new,old} | ||
sudo mkdir -p $RC_DIR-new | ||
} | ||
|
||
# Download given RocketChat build | ||
build_rc () { | ||
local s3_path | ||
s3_path="s3://$S3_BUCKET/$RC_FILE" | ||
tmprcdir=$(mktemp -d) | ||
cd $tmprcdir | ||
echo "Downloading Rocket.Chat installation files.." | ||
$AWS s3 cp --quiet "$s3_path" . | ||
echo "Unpacking Rocket.Chat files..." | ||
tar zxf "$RC_FILE" | ||
rm -f "$RC_FILE" | ||
echo "Installing modules..." | ||
# loglevels (high to low): error, warn, notice, http, timing, info, verbose, silly | ||
# default = notice | ||
# To disable logging, set loglevel to `silent` | ||
# However, even with `silent` the "package_name@version install_folder" lines are still shown | ||
npm_config_loglevel=warn npm install --production --prefix ./bundle/programs/server | ||
echo "Copying to the new location..." | ||
sudo mv ./bundle $RC_DIR-new/ | ||
rm -rf $tmprcdir | ||
} | ||
|
||
#AWS="/usr/local/bin/aws" | ||
#AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION_ENVSUBST | ||
#RC_DIR=$RC_DIR_ENVSUBST | ||
#RC_FILE=$RC_TARBALL_ENVSUBST | ||
#S3_BUCKET=$S3_BUCKET_ENVSUBST | ||
# | ||
#set -e | ||
# | ||
## Clean old RC dirs and create new | ||
#prepare_directories () { | ||
# echo "Removing previous release's directories..." | ||
# sudo rm -rf $RC_DIR-{new,old} | ||
# sudo mkdir -p $RC_DIR-new | ||
#} | ||
# | ||
## Download given RocketChat build | ||
#build_rc () { | ||
# local s3_path | ||
# s3_path="s3://$S3_BUCKET/$RC_FILE" | ||
# tmprcdir=$(mktemp -d) | ||
# cd $tmprcdir | ||
# echo "Downloading Rocket.Chat installation files.." | ||
# $AWS s3 cp --quiet "$s3_path" . | ||
# echo "Unpacking Rocket.Chat files..." | ||
# tar zxf "$RC_FILE" | ||
# rm -f "$RC_FILE" | ||
# echo "Installing modules..." | ||
# # loglevels (high to low): error, warn, notice, http, timing, info, verbose, silly | ||
# # default = notice | ||
# # To disable logging, set loglevel to `silent` | ||
# # However, even with `silent` the "package_name@version install_folder" lines are still shown | ||
# npm_config_loglevel=warn npm install --production --prefix ./bundle/programs/server | ||
# echo "Copying to the new location..." | ||
# sudo mv ./bundle $RC_DIR-new/ | ||
# rm -rf $tmprcdir | ||
#} | ||
# | ||
#prepare_directories | ||
#build_rc | ||
prepare_directories | ||
build_rc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,65 @@ | ||
#!/bin/bash | ||
|
||
RC_DIR=$RC_DIR_ENVSUBST | ||
|
||
set -e | ||
|
||
echo "run rotate" | ||
# Find Rocket.Chat service names | ||
find_rocket () { | ||
find /etc/systemd/system/multi-user.target.wants/ -maxdepth 1 -type l -name 'rocket*' -printf '%f\n' | ||
} | ||
|
||
# activate command on Rocket.Chat | ||
systemctl_rocket () { | ||
find_rocket | xargs --no-run-if-empty sudo systemctl "$@" | ||
} | ||
|
||
stop_rc () { | ||
echo "Stopping service..." | ||
systemctl_rocket stop | ||
echo "Waiting for service to stop..." | ||
for service in $(find_rocket) | ||
do | ||
until [ "$(systemctl show $service -p ActiveState)" = "ActiveState=inactive" ] | ||
do | ||
printf '.' | ||
sleep 2 | ||
done | ||
done | ||
} | ||
|
||
start_rocket_and_wait_for_response () { | ||
echo "Starting service..." | ||
systemctl_rocket start | ||
echo "Waiting 1 minute for service to start..." | ||
timeout=60 | ||
until $(curl --output /dev/null --silent --head --fail http://localhost) | ||
do | ||
if [ "$timeout" = "0" ] | ||
then | ||
echo -e "\nWaiting timed out - Rocket.Chat not responding yet" | ||
exit 1 | ||
fi | ||
printf '.' | ||
timeout=$((timeout - 2)) | ||
sleep 2 | ||
done | ||
} | ||
|
||
# Switch previous version with current | ||
update_rc () { | ||
stop_rc | ||
echo "Switching versions..." | ||
sudo mv $RC_DIR{,-old} | ||
sudo mv $RC_DIR{-new,} | ||
start_rocket_and_wait_for_response | ||
} | ||
|
||
# Delete previous version | ||
cleanup () { | ||
echo "Cleaning up old directories..." | ||
sudo rm -rf $RC_DIR-old | ||
} | ||
|
||
#RC_DIR=$RC_DIR_ENVSUBST | ||
# | ||
#set -e | ||
# | ||
## Find Rocket.Chat service names | ||
#find_rocket () { | ||
# find /etc/systemd/system/multi-user.target.wants/ -maxdepth 1 -type l -name 'rocket*' -printf '%f\n' | ||
#} | ||
# | ||
## activate command on Rocket.Chat | ||
#systemctl_rocket () { | ||
# find_rocket | xargs --no-run-if-empty sudo systemctl "$@" | ||
#} | ||
# | ||
#stop_rc () { | ||
# echo "Stopping service..." | ||
# systemctl_rocket stop | ||
# echo "Waiting for service to stop..." | ||
# for service in $(find_rocket) | ||
# do | ||
# until [ "$(systemctl show $service -p ActiveState)" = "ActiveState=inactive" ] | ||
# do | ||
# printf '.' | ||
# sleep 2 | ||
# done | ||
# done | ||
#} | ||
# | ||
#start_rocket_and_wait_for_response () { | ||
# echo "Starting service..." | ||
# systemctl_rocket start | ||
# echo "Waiting 1 minute for service to start..." | ||
# timeout=60 | ||
# until $(curl --output /dev/null --silent --head --fail http://localhost) | ||
# do | ||
# if [ "$timeout" = "0" ] | ||
# then | ||
# echo -e "\nWaiting timed out - Rocket.Chat not responding yet" | ||
# exit 1 | ||
# fi | ||
# printf '.' | ||
# timeout=$((timeout - 2)) | ||
# sleep 2 | ||
# done | ||
#} | ||
# | ||
## Switch previous version with current | ||
#update_rc () { | ||
# stop_rc | ||
# echo "Switching versions..." | ||
# sudo mv $RC_DIR{,-old} | ||
# sudo mv $RC_DIR{-new,} | ||
# start_rocket_and_wait_for_response | ||
#} | ||
# | ||
## Delete previous version | ||
#cleanup () { | ||
# echo "Cleaning up old directories..." | ||
# sudo rm -rf $RC_DIR-old | ||
#} | ||
# | ||
#update_rc | ||
#cleanup | ||
update_rc | ||
cleanup |