gitlab ci 系列教程(三)—— 在 Node.js 项目中使用缓存
大家使用 CI 的一个初衷就是用来构建编译产物,很多编程语言都有自己的包管理系统,可以借助社区的力量快速搭建自己的业务代码。但是由于依赖包安装过程太过缓慢,会严重影响 CI 运行的时间,所以我们在使用 CI 时一般倾向于将初次安装后的依赖包缓存下来,来加快后续或者下次的 CI 构建流程。本篇文章将会拿 Node.js 为例来讲解如何在 gitlab CI 中使用缓存。
大家使用 CI 的一个初衷就是用来构建编译产物,很多编程语言都有自己的包管理系统,可以借助社区的力量快速搭建自己的业务代码。但是由于依赖包安装过程太过缓慢,会严重影响 CI 运行的时间,所以我们在使用 CI 时一般倾向于将初次安装后的依赖包缓存下来,来加快后续或者下次的 CI 构建流程。本篇文章将会拿 Node.js 为例来讲解如何在 gitlab CI 中使用缓存。
gitlab runner 可以创建 shell ssh docker 这三个创建的模式。如果 runner 安装在自己托管的机器上,那么可以根据需要任意选择模式进行使用,如果你的 runner 是使用云上托管的平台,默认提供了 docker 模式,你可以使用子托管的 runner 来使用你想要的任意模式。使用 shell 模式可以直接将命令运行在 runner 安装的机器上,省去了启动 docker 容器的时间,同时可以直接读取本机上的应用程序和磁盘文件,省去了一些初始化配置的时间。但是如果当前 runner 是多个项目组混用,那么将凭证之类的数据放置到磁盘上可能会引起冲突或者隐私泄露,这时候 docker 模式的隔离特性就凸显出来优点了。所以说在很多情况下 docker 模式是必不可少的。
使用 node 作为 Windows service,提供 http 服务,然后用浏览器访问 http 服务来加载网页,来实现类桌面程序的使用效果。
由于现在大多数公司使用私有化 git 仓库产品时一般选择 gitlab,所以借助其提供的 gitlab ci 功能来做 CI (Continuous Integration,可持续集成) 任务还是比较普遍的一种选型。本篇文档作为一个 gitlab 的入门教程,会设计到 gitlab runner 和 gitlab-ci.yml 文件的编写两部分内容。
一个困扰了一年半的问题,应用程序老是报 DNS 解析失败,一开始怀疑是 DNS 服务器或者操作系统负载高的问题,但是随着问题暴漏的越来越频繁,我逐渐觉得问题不是那么简单。
明明消费者程序正常,为何个别 partition 上依然出现特别大的 lag 呢,本文根据笔者过往经验触发来一探究竟。
从 http 1.0 开始,http 历经了 1.1 2.0 3.0 版本,每个版本迭代升级的时候,都会对传输层的使用模式加以改进,本文就是从这个方面讲一下各个版本在传输层的异同。
这篇文章通过讲解 k8s 中 yaml 配置文件的编写过程,来让大家熟悉如何在 k8s 中部署应用;同时会讲解初学者如何使用免费 k8s 环境来做练习。
这篇文章讲述在前端中引入微服务的初衷,微服务在落地过程中遇到的各种问题和解决方案,同时给出微服务性能自查的方法。
本文讲述了在笔者在直播间项目组工作时,践行微服务过程中的一系列趟坑的心路历程。