老根的博客

知止而后有定


  • 首页

  • 分类14

  • 归档23

  • 标签28

Kubernetes 生产部署实录 - 基于 sealos 部署 laf.js

发表于 2022-02-12 | 更新于 2022-02-16 | 分类于 kubernetes , lafjs
本文字数: 1.8k | 阅读时长 ≈ 2 分钟

说明

lafyun.com 是基于开源云开发平台 laf.js 部署的公开运营版云开发平台。

lafyun.com 内测阶段是基于 docker-compose 部署的单机版,现在平台正式开放公测,需要基于 kubernetes 部署集群版。

环境准备

Kubernetes 的部署采用 sealos 一键部署。

系统选择了 centos 7.9,最初经反复测试过 Aliyun Linux 3.x,Kubernetes 表现极不稳定,系统经常会因为 OOM 宕机或断连等问题,特别是单次启动 pod 数量过百之后,后选择了 centos 7.9 表现极其稳定。

kubernetes 选择了 v1.23.2,此版本默认已不支持 docker ,故容器运行时使用了 containerd。

阅读全文 »

创建 uni-app 项目 - 配置 Typescript + Eslint + Husky

发表于 2021-04-19 | 更新于 2022-02-16
本文字数: 3.1k | 阅读时长 ≈ 3 分钟

前置要求

  1. 安装 Node.js (版本要求 >= 14, 高版本的 npm 安装依赖效率高,不容易出错)

需求

  1. 使用 typescript 开发 uni-app
  2. 基于 vscode & npm script 运行 uni-app,不依赖 HBuilderX
  3. 配置 eslint 进行代码约束
  4. 配置 husky 对代码的提交和推送进行约束: 提交前 eslint fix
阅读全文 »

FFMPEG - 基础命令

发表于 2019-11-24 | 更新于 2021-01-12 | 分类于 Videos , ffmpeg
本文字数: 2k | 阅读时长 ≈ 2 分钟

Mac 安装

1
brew install ffmpeg

查看 mac 上的设备列表

1
ffmpeg -f avfoundation -list_devices true -i ""
阅读全文 »

Github Actions - 使用 SSH 远程连接服务器部署

发表于 2019-11-18 | 更新于 2021-01-12 | 分类于 CI/CD , Github Actions
本文字数: 1.2k | 阅读时长 ≈ 1 分钟

文档中并没有关于 SSH 方面的东西,虽然不属于 Github Actions 范畴,但经常用到,并且确实要花费一些时间去检索用法,甚至调试很久。

此文是为了记录经过验证的示例代码,方便日后或他人参考和使用。

阅读全文 »

Github Actions - 发布 npm 包

发表于 2019-11-18 | 更新于 2021-01-12 | 分类于 CI/CD , Github Actions
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

Github 推出个人免费私有仓库后,我就逐渐把在其它平台的私有仓库迁移过来了,万分方便。

唯一的遗憾就是 CI/CD,之前使用 Gitlab CI 体验很好,以至于我对其它的 CI 工具都提不起兴趣,一直期待 Github 能推出类似的,所以 Github Actions 的推出我是无比兴奋的。

阅读全文 »

Node.js 源码分析 - 加载 js 文件

发表于 2018-11-30 | 更新于 2021-01-12 | 分类于 Node.js 源码分析
本文字数: 4.9k | 阅读时长 ≈ 4 分钟

提出问题

了解 js 文件加载前的准备工作

在《从 main 函数开始》这篇中说到了 LoadEnvironment() 函数负责加载 js 代码,但并没有继续说明加载细节。

这篇从 LoadEnvironment() 开始探究 js 代码加载的详细过程。

阅读全文 »

Node.js 源码分析 - 原生模块(C++模块)的注册

发表于 2018-11-28 | 更新于 2021-01-12 | 分类于 Node.js 源码分析
本文字数: 9k | 阅读时长 ≈ 8 分钟

上一篇提到 RegisterBuiltinModules() 注册了原生 C++ 模块没有详细展开,这里就从这个函数展开。

阅读全文 »

Node.js 源码分析 - 从 main 函数开始

发表于 2018-11-27 | 更新于 2021-01-12 | 分类于 Node.js 源码分析
本文字数: 8.6k | 阅读时长 ≈ 8 分钟

小目标

知道程序大概执行逻辑,关键点执行的顺序

我们平时在终端敲下 node app.js 后,发生了什么。

具体点,知道 node.js 原生(C++)模块什么时候加载的,在哪加载的;
知道我们的 js 代码是在哪个环节被加载执行的;
知道进程的主循环(事件循环)什么时候启动的;

有了这个小目标的基础,在接下来的文章中,我们再进一步的探索 node.js 原生模块的注册是怎么实现的,怎么获取 & 初始化的,怎么曝露给 js 环境调用的;再细说 node.js 的模块机制,我们通常的 app.js 怎么被执行的;

阅读全文 »

Node.js 源码分析 - 目录 & 前言

发表于 2018-11-24 | 更新于 2021-01-12 | 分类于 Node.js 源码分析
本文字数: 899 | 阅读时长 ≈ 1 分钟

这两年先后两次读过 Node.js 源码,但是每次都懒于记录,过几个月就忘记了,这次把疏理过程记录下来,以免之后再浪费时间从头看。虽然是为了备忘,我会尽量站在读者的角度写,以望能帮助想了解 Node.js 源码的朋友节省一些时间、精力。

适合谁

- 你需要熟悉 C/C++
- 你需要熟悉 Node.js,理解异步编程及原理
阅读全文 »

GitLab CI 示例:构建 & 部署 Web 前端项目(部署到 Swarm)

发表于 2018-11-22 | 更新于 2021-01-12 | 分类于 CI/CD , GitLab CI/CD
本文字数: 2.7k | 阅读时长 ≈ 2 分钟

问题

Web 前端的应用需要在 node 环境下安装依赖和构建,但是发布一般又是用 nginx 镜像,我们既不想在 node 容器里安装 nginx,也不想在 nginx 容器里安装 node;

TL;DR

所以,我们先在一个 node 容器中 build 应用,利用 GitLab CI Cache 机制,将构建后的目标文件(通常是 dist 文件夹)缓存,以便在发布阶段 (release stage) 可以使用。

这里我所谓的 release 是指发布 docker image ,所以需要一个 Dockerfile,并且是以 nginx image 为基础镜像构建的。

我这里是部署到 swarm 集群上,所以会首先把 docker-stack.yml 文件 scp 到目标服务器上。

阅读全文 »
123
Maslow

Maslow

Fullstack Developer

23 日志
11 分类
26 标签
RSS
GitHub E-Mail
相关链接
  • laf 在线云开发
  • laf.js 开源云开发
  • My GitHub
0%
© 2022 Maslow | 站点总字数: 73k | 站点阅读时长 ≈ 1:07
由 Hexo 强力驱动 v3.9.0
总访客量: 总浏览量: