使用 CNB 平台自动同步代码到 GitHub

为什么需要 CNB
在国内网络环境下,直接向 GitHub 推送代码往往很困难,经常需要给终端配置代理,再手动执行 git push。有没有一种更省力的方式,让代码自动同步到 GitHub?
答案是有的:借助腾讯旗下的代码构建平台 CNB(Cloud Native Build)。你只需要把代码推送到 CNB,构建平台就会自动将其同步到你指定的 GitHub 仓库,从此告别手动 push。
下面介绍如何用 CNB 平台实现代码到 GitHub 的自动同步。
操作步骤
1. 创建 CNB 项目并推送代码
先在 CNB 平台注册账号,然后创建一个新项目(仓库)。
具体流程可参考 CNB 官方文档:创建第一个仓库。
创建好仓库后,把本地代码推送到该仓库中。
2. 新建密钥仓库
接下来在 CNB 中新建一个密钥仓库,用来集中存放同步所需的密钥:

在密钥仓库中添加一个 yml 文件,命名为 github-sync,内容如下:
GITHUB_USERNAME: ""
GITHUB_ACCESS_TOKEN: ""
其中:
GITHUB_USERNAME:你的 GitHub 用户名。GITHUB_ACCESS_TOKEN:需要在 GitHub 创建 Personal access token,并勾选repo权限。

3. 配置 .cnb.yml 实现自动同步
最后,在代码仓库根目录添加 .cnb.yml 文件,内容如下:
# .cnb.yml
main:
push:
- imports: https://cnb.cool/cnb用户名/密钥仓库/-/blob/main/密钥文件.yml
stages:
- name: sync to github
image: tencentcom/git-sync
settings:
target_url: 想要同步的 GitHub 仓库地址
auth_type: https
username: ${GITHUB_USERNAME}
password: ${GITHUB_ACCESS_TOKEN}
配置完成后,每次向 CNB 平台提交代码,都会触发云原生构建,并自动将代码同步到你指定的 GitHub 仓库中。

