正在加载今日诗词....

杜绝重复-ssh-key

复用ssh生成的公钥

每次换换进或者跟换系统的时候,如果要使用git就要下载然后每次都要生成公钥并添加进coding或者github这样的代码托管平台.

使用hooks自动监测git仓库更改并拉取

我们在务器上使用宝塔进行操作,使用宝塔比较直接,可视化,各种操作和安装东西很方便(如果只是想安装一些东西,快速搭建),后面也会继续使用宝塔为网站安装https证书,使用Let's Encrypt

申请免费的证书并配置

重新部署hexo

​ 问题所在:

改用了自己服务器搭建hexo后,也实现了gitalk的初始化,但是要git同步以及每次都要重新部署,制作很多定时任务,有时还会执行失败,导致还要手动的去修改和部署,并没有实现自动的部署,还是比较鸡肋,所以使用新的解决方案,来实现真正的自动化.

gitalk 自动初始化

​ 前面有篇文章介绍了使用hexo的评论系统gitalk,但是使用过程中有一些小问题,每一篇文章都需要初始化一下issues,不然是无法评论的,如果文章太多,一个一个初始化就太浪费时间和精力,所以借鉴了网上的一些资料完成一个自动化初始评论的需求

hexo部署到阿里云服务器

前面几篇文章说过将hexo部署到githubcoding,但是使用过程中发现github国内访问速度慢,不允许百度爬虫爬取,codingpage服务也是部署在国外,虽然做了cdn速度还不错,但有时会挂掉,时间有短有长,不稳定这一因素也驱使这我放弃这个方式.最终打算部署到自己的服务器上,阿里云还是很稳定的,自己不乱操作也不回出什么问题

curl常用命令

curl常用命令行

  1. 发送请求,默认get方式

    1
    
    curl "url" //网页或json,string会打印到标准输出中,-o 参数可以制定输出位置
    

buffalo-验证规则

validate包

使用了validate进行验证后会调用validator验证器,无论validataAndCreate还是 validateAndUpdate 都会调用这两个方法后继续调用validate方法,如果使用了validateAndSave方法则会判断id是否存在,如果存在则调用validateAndUpdate,不存在则调用validateAndCreate

validator doc文档

buffalo-命令

生成fizz文件命令

1
2
buffalo db g fizz table_name field_name:field_type(default string)
eg: soda g fizz devops_controller name code desc:text deleted_at:nulls.Time

golang-buffalo框架

关于c.value("tx").(*pop.connection)

1
2
var s = x.(T) //语法为golang的类型断言, 如果x不为nil,且可以转换为T类型,则断言成功,返回一个T类型的变量 s, 如果T为接口,则要求x实现T,如果断言失败 panic
c.valule() //获取context中的值,关于tx在下面 buffalo.context返回值中说明

为hexo增加gitalk评论系统

所有操作再hexo next主题的基础上完成

准备工作:

  1. 新建一个github仓库,使用issues作为评论容器
  2. 注册gitalk,获取id,secret
  3. 给页面增加gitalk元素及引入gitalk样式表及js文件

使用travisCI自动部署hexo博客并使用国内外不同dns

自动化部署博客到github和coding

准备工作

需要环境:

  1. 可正常使用域名一个
  2. github新建一个与自己账号名同名的仓库,如 ayuayue.github.io,最好除master分支外新建一个hexo分支用来保存hexo的源码,因为源码配置文件会上传到github,所以才会使用下面的变量的方式配置,不然的话token暴露出来很危险
  3. coding 中创建一个团队,继续创建一个devops仓库,仓库民跟自己的账号名相同,如 caoayu
  4. 进行coding管理员的认证, 在右上角团队管理中,进行团队管理员的认证
  5. 获取github和coding的token
    1. coding中去个人账号,访问令牌中,新建一个令牌,名字为travis,只给第一个权限,然后生成一个token,记录下来,只有第一次可以看,刷新后就只能重新生成了,所以第一次最好保存一下token,github的token也是一样
    2. github的token获取,右上角头像,settings,devoper setting /persional access token,生成一个token,gengrate new token,名字也设置为travis,生成后记得保存一下

解决deepin下安装sqlite3依赖过新的问题

安装sqlite3依赖过新的问题

在安装sqlite3时提示需要安装其他依赖,当手动安装依赖时显示当前依赖安装过了,而且版本太新导致无法安装 解决方法:

1
2
3
4
5
sudo dpkg --purge --force-depends libsqlite3-0
sudo apt-get install libsqlite3-0
sudo apt-get install -f
sudo apt-get install libsqlite3-dev
sudo apt-get install sqlite3