Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.

Commit

Permalink
🍱 add tool scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
hellokaton committed Oct 7, 2018
1 parent 8ce5bf7 commit 826525b
Show file tree
Hide file tree
Showing 5 changed files with 183 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ logs/

# database file #
tale.db
pack.sh
155 changes: 155 additions & 0 deletions bin/tool
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
#!/bin/sh

APP_NAME="tale"
JAVA_OPTS="-Xms256m -Xmx256m -Dfile.encoding=UTF-8"
psid=0

checkpid() {
javaps=$(pgrep -f "tale-latest")

if [ -n "$javaps" ]; then
psid=$javaps
else
psid=0
fi
}

start() {
checkpid

if [ $psid -ne 0 ]; then
echo "================================"
echo "warn: $APP_NAME already started! (pid=$psid)"
echo "================================"
else
echo "Starting $APP_NAME ..."
nohup java $JAVA_OPTS -jar tale-latest.jar --app.env=prod >/dev/null 2>&1 &
sleep 1
checkpid
if [ $psid -ne 0 ]; then
echo "(pid=$psid) [OK]"
else
echo "[Failed]"
fi
fi
}

stop() {
checkpid

if [ $psid -ne 0 ]; then
echo -n "Stopping $APP_NAME ...(pid=$psid) "
kill -9 $psid

if [ $? -eq 0 ]; then
echo "[OK]"
else
echo "[Failed]"
fi

checkpid
if [ $psid -ne 0 ]; then
stop
fi
else
echo "================================"
echo "warn: $APP_NAME is not running"
echo "================================"
fi
}

status() {
checkpid
if [ $psid -ne 0 ]; then
echo "$APP_NAME is running! (pid=$psid)"
else
echo "$APP_NAME is not running"
fi
}

showlog() {
tail -f logs/tale.log
}

get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value
}

REMOVE_LOCAL_THEME=1

upgrade(){
echo "是否允许覆盖本地主题 (y/n)?"
read con
case $con in
y|yes|Y|YES)
REMOVE_THEME=1
;;
*)
break
;;
esac

# 备份当前目录
TIME=`date +%Y%m%d_%H%m`
tar czvf back_$TIME.tar.gz *
echo '备份成功'

echo '开始下载最新版本.'

TAG_VERSION=$(get_latest_release "otale/tale")
wget -N --no-check-certificate https://github.com/otale/tale/releases/download/$TAG_VERSION/tale.tar.gz

mkdir upgrade_tmp
tar -zxvf $APP_NAME.tar.gz -C upgrade_tmp
sh tool stop
rm -rf lib tale-latest.jar tool resources/static resources/templates/admin resources/templates/*.html resources/*.properties

if [ "$REMOVE_LOCAL_THEME" -eq "1" ]; then
rm -rf resources/templates/themes
mv upgrade_tmp/resources/templates/themes resources/templates
fi

mv upgrade_tmp/lib .
mv upgrade_tmp/tale-latest.jar .
mv upgrade_tmp/tool .
chmod +x tool
mv upgrade_tmp/resources/static ./resources
mv upgrade_tmp/resources/*.properties ./resources
mv upgrade_tmp/resources/templates/admin ./resources/templates
mv upgrade_tmp/resources/templates/*.html ./resources/templates

echo '升级完毕'

rm -rf upgrade_tmp
rm -rf tale.tar.gz

start
}

case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'status')
status
;;
'log')
showlog
;;
'upgrade')
upgrade
;;
*)
echo "Usage: $0 {start | stop | restart | status | upgrade | log}"
exit 1
esac
exit 0
19 changes: 19 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh

APP_NAME="tale"
get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value
}

TAG_VERSION=$(get_latest_release "otale/tale")

wget -N --no-check-certificate https://github.com/otale/tale/releases/download/$TAG_VERSION/tale.tar.gz

echo '下载完毕'

mkdir $APP_NAME
tar -zxvf $APP_NAME.tar.gz -C $APP_NAME && cd $APP_NAME
chmod +x tool
sh tool start
10 changes: 7 additions & 3 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

<id>customAssembly</id>
<!-- dir -->
<id>bin</id>
<formats>
<format>dir</format>
<format>tar.gz</format>
<format>zip</format>
</formats>

<includeBaseDirectory>false</includeBaseDirectory>
Expand All @@ -19,6 +19,10 @@
<directory>src/main/plugins/</directory>
<outputDirectory>/plugins</outputDirectory>
</fileSet>
<fileSet>
<directory>bin/</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>

<dependencySets>
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/application-prod.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
app.devMode=false

0 comments on commit 826525b

Please sign in to comment.