自动化构建部署 github 仓库到国内的服务器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rizon
V2EX    程序员

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

  •  
  •   rizon
    othorizon 2024-02-19 01:04:04 +08:00 3026 次点击
    这是一个创建于 608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景说明

    最近在部署 nodejs 的项目时遇到一个问题,这个项目本身规模较小,没有采用标准的 CICD 流程,也没有 K8S 或者 docker 的容器化,因此只是在一个云服务器上简单的执行一下启动命令。 原初,就是简单的登录服务器,从 github 仓库拉取代码,然后执行构建,最后启动服务。 但是后来发现有两个问题: 一是 github 连接经常不稳定,当然这个可以通过代理地址解决。第二个问题是这个项目在执行 node 的构建命令时候 cpu 占用非常高,而这个某云厂商的边角料轻量云服务器,cpu 占用一高之后居然无响应了,无法登录终端,停止不了构建进程。只能重启机器。 基于以上问题,我决定把构建流程从服务器中抽离出来。这件事最简单的办法就是本地构建,然后把构建后的文件上传到服务器。不过我因为一些原因不想要本地做构建,于是便有了这个方案。

    核心概述

    详细内容可以查看公众号原文(公众号奕象派): https://mp.weixin.qq.com/s/qMg_OEBNghalFq2wjAzkTw
    这里简单概述核心内容,因为基本上看这几句话知道什么意思也就足够了。

    1. 使用 coding.net 的服务
    2. 关联 GitHub 仓库,这样就不用迁移仓库到 coding 了,很良心
    3. 配置构建计划,计划里拉取代码到运行的容器环境里,然后执行构建命令就行了。coding 的配置功能很强大,还免费
    4. 配置 ssh 密钥,用于将构建后的代码上传到目标服务器。ssh 密钥是可以在凭证管理页面安全管理的,不必要明文暴露到脚本中。

    核心就是这么几个步骤,其中有一些我在操作时的踩的坑在原文里描述了。

    欢迎关注

    我也是刚决定并开始做公众号,我打算将我平常工作中的一些技巧性的知识,开发中踩过的各种坑,以及拥有的行业经验(全栈开发、产品设计、以及现在正在做的 AI 相关领域的知识)一点点的分享出来。同时也是一个自我总结。 总之,欢迎关注公众号以及加入交流群(在公众号菜单里直接加群)。

    10 条回复    2024-02-19 15:56:43 +08:00
    mohumohu
        1
    mohumohu  
       2024-02-19 01:11:25 +08:00
    GitHub Actions 不好用吗
    rizon
        2
    rizon  
    OP
       2024-02-19 01:28:56 +08:00
    @mohumohu #1 你说的很对,如果 github 的 actions 玩的转,用 actions 就很好了。如果对 actions 的流程、变量、容器的这些配置有学习成本的话,可以考虑国内的服务。
    Trim21
        3
    Trim21  
       2024-02-19 03:01:44 +08:00 via Android
    印象里每次在 v2 看到 coding 都是幺蛾子,难得有正面的东西
    28Sv0ngQfIE7Yloe
        4
    28Sv0ngQfIE7Yloe  
       2024-02-19 08:19:40 +08:00
    coding 风评不是很好,我选云厂商的 devOPS
    Jack927
        5
    Jack927  
       2024-02-19 08:34:34 +08:00
    @Trim21 @Morii #3 #4 好奇 coding 发生了啥,想了解下,有关键词吗
    vacuitym
        6
    vacuitym  
       2024-02-19 09:25:06 +08:00
    一直用着 action 部署 java 和 vue
    blackmirror
        7
    blackmirror  
       2024-02-19 10:07:56 +08:00
    actions 比那些好用多了
    ZeroAsh
        8
    ZeroAsh  
       2024-02-19 13:21:41 +08:00
    其实可以自己搭一个 github action 的 runner ,把构建扔给 github 的 runner ,image push 完成之后,然后部署用自己的 runner 跑就能操作集群了
    dayeye2006199
        9
    dayeye2006199  
       2024-02-19 14:52:26 +08:00
    你倒过来弄就行了,server 的 key actions 上面存一份,构建完了直接在 actions 里面上传 server 就得了
    hongzx
        10
    hongzx  
       2024-02-19 15:56:43 +08:00
    我是 gitea+drone ,docker 部署
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2787 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:41 PVG 21:41 LAX 06:41 JFK 09:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86