使用 GitHub Actions 完成自动化部署 Hexo 博客

使用 GitHub Actions 完成自动化部署 Hexo 博客

GitHub 于 2018 年 8 月向公众宣告了他们的 CI 系统 GitHub Actions,这是一套自动化的工作流系统,可以对一个项目的开发起到很好的辅助作用。

直到我写这篇文章的时候,GitHub Actions 还处于 Beta 阶段。我已经拿到了测试资格,出于尝鲜的目的,便把我的博客的自动化部署从 Travis 转移到 Actions 上。

写此文章分享我对 GitHub Actions 的了解。由于我之前只用过 Travis 和 Jenkins,而 Jenkins 的使用作为一个非运维人员来说是不太需要关心的,所以下文介绍 Actions 的过程中,我更多地会通过对比 Travis 来进行介绍。

SSL Handshake 被莫名其妙地 RST

SSL Handshake 被莫名其妙地 RST

最近我接的外包项目甲方又要开一个新的项目,于是丢过来几台阿里云的服务器,我来负责服务器基础架构的搭建,其实也就是网关,Runtime,Redis, Syslog 那些东西,已经做得滚瓜烂熟了。这次打算自己编译 OpenResty,调教出一个高性能网关,于是弄好了 OpenResty,也顺手把甲方发过来的 SSL 证书配置到了 OpenResty 上。

配置 HTTPS 的过程跟以前一样,设置好 ssl_certificate, ssl_certificate_key,listen 443 ssl http2 这些东西,再附加一些 ssl_cipher 方面的参数,openresty -s reload 完事。

reload 完了之后我在我本地的 Chrome 上通过域名访问了 https://xxx.com (xxx.com) 为甲方域名,一开始几次访问是 ERROR_CONNECTION_RESET,我也不以为然,因为服务器上的 OpenResty 刚 Reload,以及我本机上常着的 Surge 代理有时候可能会断线,所以我以为这种情况比较常见,刷新几次就好了,见到了 Welcome To OpenResty

晚上回家之后团队的小伙伴告诉我他访问不了这个服务器的 https,我自己试了一下确实没法访问,一直提示 ERROR_CONNECTION_RESET,偶尔成功。这时候我才开始重视起来,准备研究一下这个问题。

由 Eval 引申到 Redis Cluster 的学习

背景

因为业务需要写了一段 Redis 的 Lua Script,在调用 EVAL 的时候发现还有两个参数 KEYSARGV,感觉很疑惑,难道不是简单的传点参数进去就可以?所以了解了一下这两个参数的含义。

EVAL 命令的定义是

1
EVAL script numkeys key [key ...] arg [arg ...]

All Redis commands must be analyzed before execution to determine which keys the command will operate on. In order for this to be true for EVAL, keys must be passed explicitly. This is useful in many ways, but especially to make sure Redis Cluster can forward your request to the appropriate cluster node.

Redis 设计的原意是使用者应当将在 Lua Script 中操作的所有 KEY 以 KEYS 的形式传给 EVAL,这样 EVAL 能够在真正运行前检查一下 KEY,就目前来说,是根据 KEYS 来决定把指令转发到哪台 Redis Cluster Master Node 上。
ARGV 则是传递一些必要的参数,这个倒是没什么使用规范。

于是我先放下 EVAL,了解一下 Redis Cluster,用了这么久 Redis 了,还没用过 Redis Cluster,惭愧。

持之以恒训练打卡记录

失败了,坚持了3个月,败给懒惰

每天坚持做 100 个俯卧撑每天坚持一项室内体育运动,暂定持续一年。没有特殊的健身目的,只是为了寻找一件事情让自己每天都努力去完成,锻炼自律性。

最开始的版本是一天 100 个俯卧撑,后来咨询一下发现俯卧撑是要隔天做的,因为会对肌肉产生劳损,所以打算找多几种运动来挑战,不局限于俯卧撑

在 macOS 上构建、打包 Medis

在 macOS 上构建、打包 Medis

Medis 是一款简洁易用、实用的 Redis 图形化客户端,作者将这款软件在 Github 上开源,所有开发者可以自由下载它的源代码。

Medis 在 App Store 上提供了下载,价值 ¥30,算是一种形式上的捐赠吧,不愿意花钱的开发者也可以根据本文的指示来构建并打包 Medis,与从 App Store下载的版本并无区别。

Kubernetes 学习札记 - 在 Google Cloud 上搭建集群

Target

  • 搭建 Kubernetes 集群(Master * 1 + Node * 2)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×