小水管和blog的构建脚本。我发誓以后再也不学bash
脚本了。语法符号太过生涩💩💩,早前专门学了一遍,此刻已经忘光。用 python
亦或 nodejs
脚本替代吧。😠
小水管自动构建
- killApp.sh
通过名字或者占用的端口号查杀进程。
killAppByName(){
if [ -z $# ];then echo '请指定任务.';return; fi
for app in $@;do
pid=`ps -ef | grep $app | grep -v "grep" | awk '{print $2}'`
if [ -z $pid ];then echo "找不到${app}相关进程." ; continue; fi
echo 找到${app}相关进程:${pid[@]}
for id in $pid;do
kill -9 $id
echo "杀死进程 + ${id}"
done
done
}
killAppByPort(){
if [ -z $# ];then echo "请指定端口!";return;fi
for port in $@;do
t_pid=`lsof -n -P -t -i :$port`
if [ -n "$t_pid" ]
then
echo 找到占用${port}端口的程序[${t_pid}]
kill -9 $t_pid
else
echo 端口${port}未被占用
fi
done
}
- rebuildFangtan.sh
查杀进程->更新代码->编译程序->运行程序
export GOPATH="/home/ubuntu/go"
export GOROOT="/usr/local/go"
AppPath=/home/ubuntu/project/golang-web/src
AppPort=80
AppName=fangtan
. ./killApp.sh && killAppByPort $AppPort
cd $AppPath
rm -rf ./$AppName
echo 更新远程代码中...
git pull
$GOROOT/bin/go build -o fangtan
(sudo ./fangtan &)
echo 'finish!'
博客编译到小水管静态目录
# 项目路径
blogPath=/home/ubuntu/project/jblog
cd $blogPath
hexo generate -f
echo 'build ok!'