V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hyyy
V2EX  ›  程序员

寻求腾讯云部署 Github 仓库项目的正确姿势

  •  
  •   hyyy · 2022-04-17 20:28:19 +08:00 · 4652 次点击
    这是一个创建于 976 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目背景

    前端个人 Nextjs 项目,想 Github 上 Push 代码之后,在腾讯云上,能够拉取代码,执行 build 脚本。但问题就出在由于墙的机制,拉取 Github 一直没发成功,目前能想到的使用 Gitee 来同步 Github 代码,腾讯云上面拉取 Gitee 代码(这个操作的安全性没法评估保证)。

    万能的 v 友,各位是咋解决这个问题的呢,给予我一点靠谱的建议吧

    第 1 条附言  ·  2022-04-17 21:58:39 +08:00

    根据@iBugOne大佬提供的SSH方案,摸索出一条更加方便的模式,在腾讯云上已经测试成功,提供给需要此方案的v友们。

    使用GitHub CLI来同步代码,以我腾讯云的轻量级服务器为例,系统Ubuntu。

    1. 登录到腾讯云服务器;
    2. 安装GitHub CLI工具, https://github.com/cli/cli/blob/trunk/docs/install_linux.md

    具体安装命令:

    curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
    sudo apt update
    sudo apt install gh
    
    1. 执行gh auth login,根据指令来登录Github;
    2. 在Github仓库页面https clone的右边,有一个GitHub CLI栏目,复制自动为您生成的CLI命令文本,然后粘贴到腾讯云终端里执行即可完成。

    仅本人测试成功,有啥问题各位v友们可以反馈出来,我们一起想办法。

    18 条回复    2022-04-18 10:41:08 +08:00
    5200721
        1
    5200721  
       2022-04-17 20:39:32 +08:00 via Android
    自建 gitea 配合 drone
    hyyy
        2
    hyyy  
    OP
       2022-04-17 20:57:00 +08:00
    @ouyanglong721 大佬可以说的详细些么,搜了一下貌似功能和 Github Action 相似?
    teem
        3
    teem  
       2022-04-17 20:58:28 +08:00
    可以考虑用 CloudBase ,支持 Github CI/CD 。应该是 CB 内部搞定了墙的问题。
    ncepuzs
        4
    ncepuzs  
       2022-04-17 20:58:34 +08:00
    你腾讯云服务用的啥啊,是云服务器还是 serverless 之类的?我用过后者,拉取代码没问题
    hyyy
        5
    hyyy  
    OP
       2022-04-17 21:05:56 +08:00
    @ncepuzs 腾讯云轻量级服务器
    hyyy
        6
    hyyy  
    OP
       2022-04-17 21:06:05 +08:00
    @teem 我看看
    ncepuzs
        7
    ncepuzs  
       2022-04-17 21:14:00 +08:00
    @hyyy 那就蛋疼了……或者你在腾讯云服务器起个 SSH 服务端,然后用 GitHub Action 通过 Rsync 之类的推上去?
    quzard
        8
    quzard  
       2022-04-17 21:28:23 +08:00 via Android
    挂代理啊
    ration
        9
    ration  
       2022-04-17 21:32:59 +08:00
    有没有考虑用 docker ,阿里云的容器镜像个人版可以用海外机器构建,github 仓库也没问题。腾讯的个人版本不支持,付费版本没研究过。
    iBugOne
        10
    iBugOne  
       2022-04-17 21:34:05 +08:00 via Android   ❤️ 1
    走 SSH 从 GitHub 拉代码就行,只墙了 HTTP(S)

    不过既然是要 build ,为什么不在 GitHub Actions 上 build 好之后直接部署到服务器上呢?这样可以在服务器上少装不少东西(比如著名的黑洞 node_modules )。而且 GHA 更好维护,特别是涉及到依赖的软件包需要升级,或者要装新包之类的时候
    oneisall8955
        11
    oneisall8955  
       2022-04-17 21:34:08 +08:00 via Android
    lazyyz
        12
    lazyyz  
       2022-04-17 21:36:33 +08:00
    可以通过 Cloudflare Workers 无服务器版本进行加速,详见 https://github.com/hunshcn/gh-proxy
    Kokororin
        13
    Kokororin  
       2022-04-17 21:44:08 +08:00
    hyyy
        14
    hyyy  
    OP
       2022-04-17 21:46:27 +08:00
    @oneisall8955 Private Repo 貌似不能中转的
    FightPig
        15
    FightPig  
       2022-04-17 21:47:02 +08:00
    腾讯云比阿里云还好些,阿里以前用根本拉不动,腾讯还有点速度,不过最终改 hosts 的方法用起来了,现在不清楚怎么样了,
    hyyy
        16
    hyyy  
    OP
       2022-04-17 21:48:39 +08:00
    @iBugOne Nice.
    hyyy
        17
    hyyy  
    OP
       2022-04-17 21:49:10 +08:00
    @hyyy 想到了一个好主意
    cweijan
        18
    cweijan  
       2022-04-18 10:41:08 +08:00
    额, 老哥你的 ssh 不用那么麻烦, 只需要生成一个 ssh 密钥对, 然后将公钥上传到 github, 将私钥上传到你的腾讯云服务器, 就可以通过 git clone <ssh-repository>拉代码了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.