项目背景
前端个人 Nextjs 项目,想 Github 上 Push 代码之后,在腾讯云上,能够拉取代码,执行 build 脚本。但问题就出在由于墙的机制,拉取 Github 一直没发成功,目前能想到的使用 Gitee 来同步 Github 代码,腾讯云上面拉取 Gitee 代码(这个操作的安全性没法评估保证)。
万能的 v 友,各位是咋解决这个问题的呢,给予我一点靠谱的建议吧
根据@iBugOne大佬提供的SSH方案,摸索出一条更加方便的模式,在腾讯云上已经测试成功,提供给需要此方案的v友们。
使用GitHub CLI来同步代码,以我腾讯云的轻量级服务器为例,系统Ubuntu。
具体安装命令:
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
gh auth login
,根据指令来登录Github;仅本人测试成功,有啥问题各位v友们可以反馈出来,我们一起想办法。
1
5200721 2022-04-17 20:39:32 +08:00 via Android
自建 gitea 配合 drone
|
2
hyyy OP @ouyanglong721 大佬可以说的详细些么,搜了一下貌似功能和 Github Action 相似?
|
3
teem 2022-04-17 20:58:28 +08:00
可以考虑用 CloudBase ,支持 Github CI/CD 。应该是 CB 内部搞定了墙的问题。
|
4
ncepuzs 2022-04-17 20:58:34 +08:00
你腾讯云服务用的啥啊,是云服务器还是 serverless 之类的?我用过后者,拉取代码没问题
|
7
ncepuzs 2022-04-17 21:14:00 +08:00
@hyyy 那就蛋疼了……或者你在腾讯云服务器起个 SSH 服务端,然后用 GitHub Action 通过 Rsync 之类的推上去?
|
8
quzard 2022-04-17 21:28:23 +08:00 via Android
挂代理啊
|
9
ration 2022-04-17 21:32:59 +08:00
有没有考虑用 docker ,阿里云的容器镜像个人版可以用海外机器构建,github 仓库也没问题。腾讯的个人版本不支持,付费版本没研究过。
|
10
iBugOne 2022-04-17 21:34:05 +08:00 via Android 1
走 SSH 从 GitHub 拉代码就行,只墙了 HTTP(S)
不过既然是要 build ,为什么不在 GitHub Actions 上 build 好之后直接部署到服务器上呢?这样可以在服务器上少装不少东西(比如著名的黑洞 node_modules )。而且 GHA 更好维护,特别是涉及到依赖的软件包需要升级,或者要装新包之类的时候 |
11
oneisall8955 2022-04-17 21:34:08 +08:00 via Android
|
12
lazyyz 2022-04-17 21:36:33 +08:00
可以通过 Cloudflare Workers 无服务器版本进行加速,详见 https://github.com/hunshcn/gh-proxy
|
13
Kokororin 2022-04-17 21:44:08 +08:00
|
14
hyyy OP @oneisall8955 Private Repo 貌似不能中转的
|
15
FightPig 2022-04-17 21:47:02 +08:00
腾讯云比阿里云还好些,阿里以前用根本拉不动,腾讯还有点速度,不过最终改 hosts 的方法用起来了,现在不清楚怎么样了,
|
18
cweijan 2022-04-18 10:41:08 +08:00
额, 老哥你的 ssh 不用那么麻烦, 只需要生成一个 ssh 密钥对, 然后将公钥上传到 github, 将私钥上传到你的腾讯云服务器, 就可以通过 git clone <ssh-repository>拉代码了.
|