Jekyll自动检测代码更新

jekyll是一个静态博客生成软件, 我们把代码放在一个仓库里, 只要远程代码更新, 我们就从把它拉到自己的服务器, 然后重新启动jekyll.

cd /root/blog
git clone outproject

设置定时器

自动拉取代码重新部署jekyll:

crontab -e
*/1 * * * * /root/blogpull.sh >> /root/cronblogpull.log

/root/blogpull.sh如下:

脚本文件内容

#! /bin/bash

result=$(cd /root/blog && git pull | grep "Already up-to-date")
if [[ "$result" != "" ]]
then
exit 0
#echo "`date '+%Y%m%d %H:%M'`:不需要更新代码"
else
echo "`date '+%Y%m%d %H:%M'`:代码已经更新,开始"
ps -ef|grep jekyll | awk '{print $2}'| sed -n '1,1p' | xargs -i kill {}
rm -rf /root/_site
jekyll serve -H '0.0.0.0' -s '/root/blog' >/dev/null 2>&1 &
fi

/root/blog为我们jekyll静态文件所在的仓库路径.

Jekyll自动检测代码更新的更多相关文章

  1. Gitlab集成Sonarqube自动检测代码并发送报告给提交者

    使用gitlab-ci.sonarqube.sonar-scanner 实现如下功能 1.一旦提交代码就进行代码质量检测 2. 发送检测报告邮件给提交者 先来看下最终结果,邮件中有检测报告,具体bug ...

  2. IOS开发中如何实现自动检测更新APP

    自动检测更新实现逻辑: 先上github地址:https://github.com/wolfhous/HSUpdateApp 1,获取当前项目APP版本号 2,拿到AppStore项目版本号 3,对比 ...

  3. Android应用更新自动检测下载

    由于Android项目开源所致,市面上出现了N多安卓软件市场.为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量.因此我们有必 ...

  4. 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)

    一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...

  5. WebGIS中以version方式实现代码更新后前端自动读取更新代码的方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 前言 GIS代码进行更新后,由于用户前端已有缓存,导致更新的功能不 ...

  6. iOS 开发笔记 - 开发中如何实现自动检测更新APP

    1.获取当前项目APP版本号 2.拿到AppStore项目版本号 3.对比版本号,实现更新功能 直接上代码: #import "ViewController.h" //1一定要先配 ...

  7. Gitlab与Sonarqube整合-代码提交自动检测

    目录 概述 准备工作 postgres sonarqube gitlab gitlab-runner Gitlab-runner容器 注册Gitlab-runner Sonarqube gitlab ...

  8. iOS自动检测版本更新

    虽然苹果官方是不允许应用自动检测更新,提示用户下载,因为苹果会提示你有多少个软件需要更新,但是有的时候提示用户一下有新版还是很有必要的. 首先说一下原理: 每个上架的苹果应用程序,都会有一个应用程序的 ...

  9. 启用“关闭自动根证书更新”,解决Windows系统各种卡顿的问题(Visual studio 卡、远程桌面mstsc卡、SVN卡)

    最近,发现在Win7下面一系列操作都会出现卡顿的情况: 1.  Visual studio 启动调试和关闭调试时,都会卡上半分钟左右 2.  使用远程桌面mstsc.exe,点击连接时,也会卡上半分钟 ...

随机推荐

  1. 洛谷P1799 数列[NOI导刊]

    题目 dp状态定义的好题,初看这个题其实并不好想到他的状态,但是可以根据状态的定义,需要满足最优子结构.还有比较重要的一点就是方便转移方程. 首先我们定义dp[i]表示前i个数所能得到的最多个数,发现 ...

  2. 多维矩阵转一维数组(c++)【转载】

    在由二维矩阵转为一维数组时,我们有两种方式:以列为主和以行为主. 以列为主的二维矩阵转为一维数组时,转换公式为: index=column+row×行数 以行为主的二维矩阵转为一维数组时,转换公式为: ...

  3. 微信小程序之确认框实现

    效果图如下: 核心代码如下: delType:function(e){ var typeId = e.currentTarget.dataset['id']; console.log("de ...

  4. Win10电脑桌面壁纸自动变成黑色无法更换怎么解决

    很多用户在升级到win10之后,发现在使用过程中经常会碰到一些问题,就是电脑桌面壁纸总是会自动变成黑色,而且无法设置桌面背景壁纸,这是怎么回事呢,出现这样的问题可能是因为系统不是正版,或者是电脑设置不 ...

  5. cesium常用设置【转】

    https://blog.csdn.net/D_Walker/article/details/82188514 1.加载线上cesium代码<link href="http://ces ...

  6. 从阿里云DATAV GeoAtlas接口抽取行政区划数据

    阿里云提供的地理信息接口 https://datav.aliyun.com/tools/atlas/ 有两个接口, 一个是[行政编码].json, 一个是[行政编码]_full.json, 从接口中可 ...

  7. js控制input框只能输入数字和一位小数点和小数点后面两位小数

    <script language="JavaScript" type="text/javascript"> function clearNoNum( ...

  8. 【转】HTML meta标签总结与属性使用介绍

    HTML meta标签总结与属性使用介绍 转载处写的已经超级好了,强烈推荐. 转自:https://segmentfault.com/a/1190000004279791 本人就不再赘述.拿来主义!供 ...

  9. 使用sphinx为python注释生成docAPI文档

    sphinx简介 sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发. 新版的Python3文档就是由sphinx生成 ...

  10. node.js生成验证码及图片

    示例代码: var svgCaptcha = require('svg-captcha'); var fs = require('fs'); var codeConfig = { size: 5,// ...