文章列表

修理 Ghost 中文输入法的 BUG

, , , ,
去年的时候,我曾写过一篇文章 [《 将 Ghost 迁移 Hugo 背后的事 》] 里面描述了Ghost 当前对于非英文用户的主要问题。 阅读全文

通过 MicroK8s 搭建你的 K8s 环境

, , ,
去年的时候,我曾经写过如何[简单搭建 Kubernetes 集群],当时使用的是官方的工具箱:Kubeadm,这个方案对于只是想试试的同学来说,还是过于复杂。这里介绍一款简单的工具:MicroK8s。官方给这款工具的人设是“无需运维的 Kubernetes ,服务于工作站、物联网。”最大的价值在于可以快速搭建单节点的容器编排系统,用于生产试验。[官方网站]里的文档有简单介绍如何安装使用,但是却未曾考虑安装过程存在网络问题的神州大陆的同学们,本文将结合这种情况聊聊。 阅读全文

如何搭配 CI 系统使用 Composer

, , , , ,
上一篇文章讲了如何搭建[高性能的 Composer] 服务,本篇来聊聊如何搭配 CI 进行使用,让研发效率有一定的保障。 阅读全文

搭建高性能的私有 Composer 镜像服务

, , , ,
最近在完善一个基于 Composer 管理的开源软件:Flarum 。Flarum 是一款可以说是完全基于插件构成的社区系统,在需要对其频繁修改更新的开发过程中,我们需要频繁修改 composer 配置文件,在不断 composer install 的情况下,较慢的依赖下载会严重影响开发调试效率。你可能会说,使用有良好网络质量的服务器进行初始化、或者使用企业商业网络高速网络通道、或者阿里云之类的公网镜像不就好了。然而这样做也仅仅只能保障分钟级别的部署安装。并且非常不利于多人多环境部署调试。本文将试着提出一个更简单的解决方案,来解决这个问题。 阅读全文

如何配置 GitLab 使用 HTTPS

, , ,
本文将聊聊如何在三种场景下,如何正确配置 GitLab ,为用户提供 HTTPS 服务。为了行文的简单,这里一律使用容器进行搭建配置,如果你是源码、软件包部署,修改对应的文件配置即可。 阅读全文

使用 Apache 搭建 VPC 服务器代理

, , , ,
有的小伙伴或许没有使用过 VPC 网络下的服务器,在该网络环境下,服务器默认没有公网 IP ,所以用户无法访问到服务器。一般策略是使用 SLB 进行入网流量代理,这样用户就能从公网访问服务器上的应用了。但是这样只能解决流量进入的问题,并解决不了 VPC 环境下的内网机器访问公网资源的问题,给每一台机器单独分配 IP 显然不是最优解,这时我们一般会选择使用某一台服务器作为出口,搭建代理服务器。 阅读全文

公网搭建 GitLab 安全拾遗

, , ,
在公网搭建的 GitLab 频频遇到安全挑战,然而其实只需要做一两个简单的动作,维护成本就能够大大降低,并且还能避免未被许可的内容,被搜索引擎爬虫暴露的到处都是。本篇文章,我们就来聊聊公网搭建的 GitLab 代码仓库的安全小细节。 阅读全文

源码编译 GitLab Runner

, , ,
从源码安装 GitLab 你或许听说过,但是从源码安装 GitLab Runner ,或许这将是你听到的第一篇相关博客。最近遇到一个问题,需要手动编译构建 GitLab Runner,而官方文档陈旧、命令过时,如果按照官方错误的指引搞下去,难免会浪费很多时间,而且得不到你想要的结果。如果你也有类似需求,跟随本篇文章,大概十分钟左右就能折腾出一个属于你自己的 GitLab Runner。 阅读全文

使用 Node.js 生成方便传播的图片

, , ,
日常工作中,总会遇到一些需要和一些和“批量生成图片”相关的事情,尤其是在需要做内容传播的场景下:毕竟图片更直观、更有冲击力。 阅读全文

使用代码仓库管理 GitLab CI 变量

, , ,
随着越来越多的项目用上了自动化构建,我们不得不在项目中一遍遍的配置持续集成中使用的环境变量,十几个项目规模还好说,但是项目成百上千后,维护不同项目/不同项目分组变量的工作量也变的大了起来。在大公司中,如果有团队维护基础技术设施,我们可以使用类似可配置的构建平台/应用配置中心等方案来解决这个问题。但是这类方案对于中小规模的团队或者个人开发者来说却不是那么友好、甚至可以说投入成本过高。本文将介绍如何使用代码仓库管理项目/项目组变量,低成本解决项目在CI/CD过程中环境变量维护的问题。 阅读全文