通过 SSH 访问 GitHub

需求

公司有自建的 GitHub 企业版,必须通过 VPN 或者 SSH 跳板机才能访问网页,如何在客户端通过命令行存取远端代码库呢?

示例

GitHub 企业版地址:github.abc.com 跳板机:jump_host 跳板机用户名:jump

解决方案

公司的 GitHub 启用了大文件存储模式 Git-LFS, checkout 代码库的时候,客户端需要先通过 SSH 取回库的内容(包括大文件的占位符),再通过 HTTPS 取回对应占位符的大文件。因此在配置跳板机时,需要同时考虑 SSH 和 HTTPS 两种协议的代理转发。

利用 GitHub Actions 自动编译发布基于 Hugo 的网站

需求

自从把网站从 Wordpress 转成 Hugo 并托管在 GitHub 之后,一直使用 Travis CI 来自动编译部署更新。 距离上次更新又过了一年多,昨天想发个牢骚,感叹下时事多艰,结果发现 Travis CI 已经删除我之前的代码库配置。

解决方案

在 Hugo 的官方文档网站看到推荐用 GitHub Actions 来完成类似的工作 link。看起来不麻烦,开干。

通过 VPN 远程办公

需求

作为一名实施人员,通常情况下需要通过各种 VPN 连接到公司和客户的工作环境来完成任务。尤其是疫情的影响,完全在家工作,对 VPN 的利用就更重了。

但是,VPN 装多了,各种虚拟网卡驱动相互之间不一定能好好兼容,即使是 Windows 10 也很容易蓝屏,要是不幸发生在工作过程中,尤其是更新生产系统,那就有得事情做了。

解决方案

我能想到的解决方案,还是虚拟机。把所有的 VPN 都装在虚拟机里边,即使不幸虚拟机挂了,也可以在几分钟内恢复一份快照,而且这个异常完全不会影响到宿主机的系统。

在 Windows 上,常用的虚拟机解决方案有

  • 商用的 VMWare
  • 免费的 Virtualbox
  • Windows 10 自带的 Hyper-V

在 Windows 10 ver20H2 之前,Hyper-V 和其他两个解决方案是互斥的,如果启用了 Hyper-V,那么 VMWare 和 Virtualbox 都不能正常启动。更新到 20H2 之后,它们就可以共存了。

RHEL 7 上安装 Docker CE

最近注册了 RedHat 的 Developer 账号,可以免费订阅一个账号用于开发测试。但是,RHEL 7 默认只能安装 Docker EE,是需要花钱的。如何才能安装社区版本的 Docker 呢?

首先提一下, 开发者计划提供的订阅账号,本身也不带技术支持,万事靠自己,所以就不用顾忌安装第三方源会失去技术支持的问题。

按照以前的经验,RHEL 可以安装 CentOS 的对应源。但是,参照 Get Docker CE for CentOS,这次会出现一个错误

1
Requires: container-selinux >= 2.9

多次尝试后,终于把 Docker CE 装上了。

从 WordPress 迁到 Hugo

起因

说起来,都不记得这是第几次折腾 Blog 的服务器了。当初为了提高从国内访问的速度,我把搭梯子的 VPS 放在了香港的数据中心,顺便把 Blog 也放在同一台服务器以求节约成本。转眼自己肉翻这么多年,再也没有机会用那把梯子。但从美国家里访问 Blog 就慢得不能忍受,而且因为 VPS 性能不好,时不时就会出现 503 错误。思考再三,决定把站点搬回美国,反正流量可以忽略,至少要满足自己的。

选型

WordPress 的问题

继续使用 WordPress 吗?我有点犹豫了。

  1. WordPress 体量越来越大,新版本我都不太会用了。
  2. 网站运行速度慢。更新版本以后,常常需要等好几分钟才能打开后台。
  3. 离线编辑器不好用。Windows Live Writer 以及后续的 Open Live Writer 都不再更新了。
  4. 太流行,也就意味着目标大。总是要担心各种来自 PHP,WordPress 以及 MySQL 的安全漏洞。
  5. 动态网站遭遇 DDoS 的时候,开销也大大高于静态网站。
  6. 备份也不省心,定期备还占地方。