GitLab CI 配置小结

Gitlab提供可持续集成服务。只要在项目根目录创建一个.gitlab-ci.yml文件,并为这个项目制定一个runner,当有合并请求或者push的时候就会触发build。快速上手,请参考官网教程.
本文将介绍写gitlab-ci.yml中一些常用的功能。

阅读更多

lua cjson的安装与使用

因为后台接口大体都是使用json的,所以在openrsty的lua脚本中,常需要做json的相关处理。Lua cjson 就是一个用于处理json的lua模块。Openresty 默认是已经安装了cjson的,但是本着学习的态度,还是决定在本地的lua环境下安装和使用。本文将会介绍 lua cjson 基于标准 lua 和 luajit,在linux和mac的安装及简单的使用。
内容没啥难度,只不过在linux和mac,以及lua和luajit间稍微有点差别,自己整的时候刚开始也有点不清楚,所以特别记录一下,防止以后再次踩坑。

阅读更多

利用Minikube来部署一个nodejs应用

Kubernetes 是 docker 容器编排系统, 用于协调高可用的计算机集群,并在这个集群上以更有效的方式自动分发和调度应用程序。由于kubernetes本地安装比较复杂,所以社区推出了Minikube。Minikube 是在本地的虚拟机中运行一个单节点的kubernetes集群。
本文将会介绍Minikube的安装,在kubernetes集群上部署一个应用,并且简单扩容以及通过rolling update更新镜像。最后会简单介绍一下 kubernetes dashboard的简单使用。

阅读更多

发布node模块到npm

npm(Node Package Manager)是Node.js的包管理工具。npm社区有很多好用的模块。在开发过程中,我们也会在项目中提炼出一些有用的功能模块。这个时候可以发布到npm并开源到github,方便别人使用同时又进一步根据issue完善和健壮模块的功能。
下面我就根据自己的一个模块koa2-validation来简单介绍发布 npm 模块的方法步骤以及一些注意点。

阅读更多

git submodule 使用小结

Git Submodule 允许一个git仓库,作为另一个git仓库的子目录,并且保持父项目和子项目相互独立。

阅读更多

gitlab 邮箱配置小结

在前两篇文章中,介绍了GitLab CE的安装以及一些常用的配置。这篇文章将会介绍关于邮箱的配置。因为GitLab中涉及的邮箱过多,且容易混淆,而且学习的过程中有需要的疑惑和容易出错的地方,因此就单列一篇来介绍邮箱的配置,以便后续查阅。
GitLab 中有两种邮箱的配置:系统邮箱配置和用户邮箱设置。系统邮箱用来为系统给用户发送一些系统邮件,而用户邮箱则用来接收系统邮件,例如代码合并、CI测试结果通知等。
下面将会将我遇到的问题以及整理的结果一一讲解。

阅读更多

GitLab Runner小结

GitLab Runner 用来运行GitLab CI 任务(job),runner通过解析项目中的.gitlab-ci.yaml文件,来获取需要运行的job,并将结果反馈给GitLab。GitLab Runner 用Go语言实现,可以很方便在Linux,macOS 甚至windows上安装。官方也提供docker image,可以直接docker安装。
本文将介绍GitLab runner 的安装、配置以及过程中遇到的一些问题。通过安装的过程,我们也会进一步了解GitLab CI的工作原理。

阅读更多

GitLab CE 搭建小结

项目的开发通常都离不开对代码的版本管理。简单的方式可以在内网搭建一个仓库,然后添加各个组员的公钥来共同开发。这种方式不仅不利于管理和维护,而且功能过于单一。我们很希望有像GitHub这样的平台服务,功能齐全且好维护。但由于GFW的原因,有时候访问延迟过大。更重要的是,github免费版只支持开源项目,私有项目需要付费,而且比较昂贵,并不适合公司的项目。
GitLab 是一个类似与GitHub的项目,功能十分强大且界面美观,支持代码管理、issue管理、代码review和CI等功能。它提供免费的社区版和付费版,社区版足够满足我们的项目需求。本篇文章我将介绍GitLab社区版的安装、配置以及一些遇到的问题。

阅读更多

dockerfile 小结

使用docker,就少不了要经常打镜像,也自然熟悉通常放在项目根目录下的Dockerfile文件。
Docker是根据Dockerfile 和 context来构建镜像的,context即为指定路径下的需要打到镜像中的文件。build镜像的过程中首先会将完整的context发送给docker daemon。docker daemon再根据Dockerfile的指令,顺序执行,完成镜像的build。

阅读更多

linux指令学习—— find

find 指令可以用来遍历路径下的文件。

阅读更多