自动化构建部署 github 仓库到国内的服务器

查看 55|回复 3
作者:rizon   
背景说明
最近在部署 nodejs 的项目时遇到一个问题,这个项目本身规模较小,没有采用标准的 CICD 流程,也没有 K8S 或者 docker 的容器化,因此只是在一个云服务器上简单的执行一下启动命令。
原初,就是简单的登录服务器,从 github 仓库拉取代码,然后执行构建,最后启动服务。
但是后来发现有两个问题:
一是 github 连接经常不稳定,当然这个可以通过代理地址解决。第二个问题是这个项目在执行 node 的构建命令时候 cpu 占用非常高,而这个某云厂商的边角料轻量云服务器,cpu 占用一高之后居然无响应了,无法登录终端,停止不了构建进程。只能重启机器。
基于以上问题,我决定把构建流程从服务器中抽离出来。这件事最简单的办法就是本地构建,然后把构建后的文件上传到服务器。不过我因为一些原因不想要本地做构建,于是便有了这个方案。
核心概述
详细内容可以查看公众号原文(公众号奕象派): https://mp.weixin.qq.com/s/qMg_OEBNghalFq2wjAzkTw
这里简单概述核心内容,因为基本上看这几句话知道什么意思也就足够了。
[ol]
  • 使用 coding.net 的服务
  • 关联 GitHub 仓库,这样就不用迁移仓库到 coding 了,很良心
  • 配置构建计划,计划里拉取代码到运行的容器环境里,然后执行构建命令就行了。coding 的配置功能很强大,还免费
  • 配置 ssh 密钥,用于将构建后的代码上传到目标服务器。ssh 密钥是可以在凭证管理页面安全管理的,不必要明文暴露到脚本中。
    [/ol]
    核心就是这么几个步骤,其中有一些我在操作时的踩的坑在原文里描述了。
    欢迎关注
    我也是刚决定并开始做公众号,我打算将我平常工作中的一些技巧性的知识,开发中踩过的各种坑,以及拥有的行业经验(全栈开发、产品设计、以及现在正在做的 AI 相关领域的知识)一点点的分享出来。同时也是一个自我总结。
    总之,欢迎关注公众号以及加入交流群(在公众号菜单里直接加群)。

    构建, GitHub, 服务器, 仓库

  • mohumohu   
    GitHub Actions 不好用吗
    rizon
    OP
      
    @mohumohu #1 你说的很对,如果 github 的 actions 玩的转,用 actions 就很好了。如果对 actions 的流程、变量、容器的这些配置有学习成本的话,可以考虑国内的服务。
    Trim21   
    印象里每次在 v2 看到 coding 都是幺蛾子,难得有正面的东西😂
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部