基于 GitLab、Docker-Compose 和 Harbor 的 CI/CD 实现

在红岩网校工作站运维安全部工作已有一年之久,在维护各种服务的同时,也了解到了各种先进的技术架构。而这一年来使我印象尤其深刻的是网校先进的 Kubernetes 集群架构和 CI/CD 流程。
于是在这个暑假,我决定将自己的基础架构推上 CI/CD 流程。关于 CI,大约一年前我已经基于 Docker 部署了 GitLab,并使用 Docker in Docker 实现了 GitLab Runner。部署过程当时由于时间因素并未写入博客,可以类比 以 Docker in Docker 的方式部署 JupyterHub 进行配置。

实现效果:
CI/CD Pipeline 继续阅读 »

SANTAK TGBOX-850 在 Linux 下的 UPS 部署踩坑记

为了保障数据安全,UPS 必不可少。两年前 50 不包邮捡到的 SANTAK MT500 Pro 从上一台服务器服役至今已经老化,正好我也希望不再使用基于 Java 的比较封闭的 Winpower 作为监测软件,而是希望使用更加开放的方案。因此我购入了一台 SANTAK TGBOX-850。

简述

UPS 规格为 850VA,510W。而我服务器的处理器为单路 E5-2678 v3,加上里面的数块硬盘,实测日常功率为 100W 上下,满载功率为 250W 作用。除此之外,UPS 还需要保障 PoEAC 路由器和 AP 的供电,因此日常负载约为 150W。对于它而言是十分轻松的。 继续阅读 »

以 Docker in Docker 的方式部署 JupyterHub

期末临近,出于对处理大学物理实验数据的需求,我决定部署一个计算环境。众所周知 iPython 同时具备良好的计算能力和交互能力,而基于 iPython 的 JupyterHub 自然是一个优秀的选择。

然而,JupyterHub 为每一个用户创建 server 时需要依赖 Docker。而官方提供的将 JupyterHub 运行于 Docker 的解决方案仅支持将宿主环境的 /var/run/docker.sock 透传进容器,这既不安全也不友好。 继续阅读 »

在 Windows 上将目录永久性映射到盘符

最近一位朋友在安装 Matlab 的时候,由于 OEM 分区方式不合理,系统分区空间不足,而数据分区空间又过于充足,于是请我帮助她合并分区。在合并分区后为了保持之前的路径仍然能够正常访问,我准备实践一下之前就听说过的将目录映射到盘符的操作。

在 Windows 中有一个叫做 subst.exe 的程序,它可以将目录映射到盘符。用法如下:
subst.exe 列出当前所有的虚拟盘符
subst.exe D: C:\dataC:\Data 映射到 D:
subst.exe D: /D 删除虚拟盘符 D: 继续阅读 »

重邮课程表 iCal 订阅生成上线

最近我的掌上重邮帐号丢了,密码被改了,密保问题和绑定邮箱都被换了,我也不知道发生了什么,不过看不了课表比较难受(We重邮这样的微信小程序就免了),于是决定搞一个整合在日历里的课表。(UPDATE:其实当时是 iOS 端连接接口异常然后有个写死的数据)
本来打算自己动手写一个轮子,意外发现一位 19 级学长 (junyilou) 刚刚发布了一个 Python 版,遂 fork 了一份并进行了大升级。
现在,该升级后项目由我和 junyilou 学长共同维护,你可以在 qwqVictor/CQUPT-ics 找到 repo。当前已经接入掌上重邮接口和 We 重邮接口,互为备份。

这里提供一个 web 界面,你可以通过你的学号来获取。(目前仅测试 macOS / iOS) 继续阅读 »

挥别庚子

似乎在不知不觉中,人们对于过年已经没有了太多特别的感觉。犹记得童年时对过年贴春联放鞭炮的期待,以及拿到压岁钱红包的喜悦和对着春晚上的相声捧腹大笑。而后来伴随着零点的钟声绽放开的烟火越来越少,春晚似乎也不再那么有吸引力。到现在,似乎除了街道上的人少了,商铺歇业的门前都贴上了福字,已然和平时没有了太多的区别。

但无论如何,总归是一个辞旧迎新的节日。随着新年钟声敲响的,便是过去一年发生的那些故事的远去。好似没什么理由的,我想是不是应当把他们记录下来。尽管一切似乎也并不波澜壮阔,但还是让它在键盘的此起彼伏间化为文字永远留存吧。 继续阅读 »