一键部署博客脚本
前言
最近项目开发完成了,接下来就是迭代了,空闲时间比较充足了,开始来搞自己的博客了。
这里先说一下自己博客的情况:我使用jekyll搭建的博客,至于怎么安装jekyll这里就不具体描述了,因为自己安装过四五次了,但是每次安装遇到的问题都不一样,每次安装都要搜很多教程才能安装完,需要安装的还是自己去谷歌或百度吧。
正文
部署流程
先来说说部署博客的流程吧:
- 手动杀死博客进程
- 进入博客目录
- 更新代码
- 登录仓库
- 执行启动博客的命令
- 启动完成
问题
- 每次更新代码需要登录
- 手动输入命令比较多
- 博客启动命令长,容易忘记
脚本
每次更新都要拉取
解决 办法就是使用ssh更新,现在本地生成密匙,在把密匙复制到仓库中,然后在拉取代码;具体的流程这里不细说,网上很多关于ssh的完整的教程。
完整流程
- 进入目录
cd /usr/local/bin
- 创建
vi myblog
或
vim myblog
- 写入
按 i 键,开始写入,将下边的脚本写入 最好不要复制,直接手敲,复制的可能格式不对导致脚本运行出错
-
完成
写完后按esc
键,再输入:wq
,然后回车
键 ,写入完成。 -
完整脚本
#!/bin/bash
#进入项目目录
cd /usr/local/myblog/myblog
# 更新代码
git pull
# 获取博客进程ID
PID=$(ps -ef | grep "jekyll" | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill -9 $PID
fi
# 后台启动jekyll命令
bundle exec jekyll server --detach
注意:
- 如果在Windows系统上写完然后再上传Linux,脚本会有很大的概率报错,因为格式的原因;所以建议直接在Linux上创建文件并写入命令;
- 我是直接将命令放入的
/usr/local/bin
目录下的 - 命令写完后记住给脚本设置权限
总结
第一次写脚本,不懂的东西还有很多,需要学习的也还有很多;