GitHub 国内访问受阻,腾讯云竟然有个平替方案

我们都知道,前天 GitHub 突然出现了技术性的故障,在修改配置文件的时候,导致我们中国大陆的 IP 无法正常访问 GitHub 。

如果你是游客模式,没有登录 GitHub ,是会出现 403 访问错误的。

这次大陆 IP 无法访问 GitHub 事件大概持续了 19 小时,时间是 4 月 13 日 4 点左右到晚上 11 点左右。

对此,官方的回应是:

由于一次配置变更产生了意外影响,未登录用户在中国境内尝试访问 GitHub.com 时曾暂时无法访问该网站。已登录用户则可继续正常访问。

其实,这次事件,也引起了大家的恐慌,尤其是在目前关税战升级的大背景下,很多人以为要停止中国大陆用户的使用。

即使,这次官方回应是技术问题,但是,依旧有人质疑:

为什么此次配置文件变更出现问题的是中国大陆 IP 呢?是不是在针对中国大陆 IP 提前做一些配置操作,为未来屏蔽做准备呢?

其实,回归一下历史,这些担心并非毫无依据,在开源协作领域,类似的访问限制事件并非首次发生。此前,某国际知名代码托管平台也曾因政治因素,对特定国家和地区的 IP 实施访问限制,导致当地开发者无法正常参与平台上的开源项目,引起国际开源社区的强烈谴责。

其实,我感觉要想消除这种担忧,我们只有建立自己的开源码托管平台才能更安心。

这两天,我发现一个好东西,就是:腾讯云 CNB ,它不仅提供了代码仓库还是一个强大的云原生构建平台。

如果你是个人开发者或者你们的公司在使用 GitHub 仓库存放代码或者进行代码协作的话,可以试一试腾讯云 CNB 。我感觉完全可以平替 GitHub ,还可以避免焦虑担心被封的问题。

接下来我们一起看看,腾讯云 CNB 是什么?其实,功能还挺强大的。

CNB 其实就是云原生构建(Cloud Native Build)的缩写,它是基于 Docker 生态,对环境、缓存、插件进行抽象,通过声明式的语法,帮助开发者以更酷的方式构建软件,是一个强大的生产力工具。

具有三大特点:

  • 声明式:声明式语法,可编程、易分享。
  • 易管理:与代码一起,同源管理。
  • 云原生:资源池化,屏蔽基础设施复杂性。

简单来讲就是云原生构建以仓库为主体,由配置文件描述在哪个分支下发生什么事件时执行什么任务。和咱们熟悉的 Git 工作流完美兼容,还额外配备了超多实用功能。

1、网络加速超给力:内置加速服务,不管是访问 GitHub,还是 DockerHub,速度都快到飞起。而且用的是腾讯云内网加速,不用额外花流量费,简直太贴心。以后再也不用担心因为网络问题,代码拉取、推送慢得让人抓狂了。

2、深度融入微信生态:支持微信登录,方便得很。项目还能直接分享到微信群聊,群友看到后能一键点赞。更绝的是,PR、Issue 等通知直接通过微信就能接收,沟通效率直线上升,那种被别人秒回的感觉,谁用谁知道。

3、开源社区超完善:代码托管、开源协作、代码评审,这些开源项目开发中常用的功能,cnb.cool 都有。在这里,能轻松和其他开发者交流合作,共同打造优质的开源项目,形成一个完整且活跃的开源社区生态。

4、云原生开发超强大:提供远程开发环境,像 DeepSeek、ComfyUI 这类大型项目,启动和开发都能又快又稳。就算本地设备配置一般,也能顺畅进行大型项目的开发工作。

5、云原生构建超高效:持续集成服务超给力,超大仓库克隆只要几秒。而且构建流程还有缓存加速,大大缩短了项目构建的时间,开发效率直接翻倍。

6、制品库功能丰富:不管是 Docker、Helm,还是 Maven、npm、ohpm 等制品,都能在这存储和分发,一站式满足各种项目的依赖管理需求。

7、任务集助力团队协作:团队协同功能很实用,能自动读取组织内仓库的 ISSUE 和合并请求,然后生成集中查阅、管理视图。团队成员能清楚了解项目进展,方便及时处理问题,提升团队协作效率。

8、腾讯云代码助手 AI 编程:支持腾讯云推出的 AI 编程工具腾讯云代码助手,让写代码变得智能、简单、方便。

举个例子,既然是以仓库为主体,所以肯定支持创建代码仓库供大家进行代码协作开发。

1、创建仓库


新建一个仓库,创建好后,可以点击「云原生开发」按钮快速创建一个开发环境。

再选择 WebIDE 进入开发界面,方便快捷。

2、配置文件

一个简单的流水线配置如下:

# 分支名
main:
  # 事件名
  push:
    # 要执行的任务
    - stages:
        - name: echo
          script: echo "hello world"

添加 CI 配置文件 .cnb.yml,将该内容复制进配置文件,提交并 push 到远端 main 分支。

这样就会触发流水线构建。

3、构建详情

在仓库页面点击 云原生构建 可以看到构建列表。

最新一条即是刚刚触发的 push 事件流水线,点进去可以看到构建详情。

下方那条有 loading icon 的记录是 云原生开发 对应的构建。

4、配置说明

日常需求

一个常见的CI需求是,主分支有Pull Request时,触发流水线进行 lint 和 test 检测,未通过则发出通知。

我们分析下这个需求,可以从中抽取一些要素:

  1. 主分支,比如main
  2. 仓库事件,即pull_request事件。
  3. 流水线任务:
    1. lint
    2. test
  1. 失败时的任务
    1. notify

下面我们根据这些要素一步步编写 CI 配置文件。

配置编写

如下图:

总结下,一个流水线的执行过程是:

  1. 仓库发生事件
  2. 确定所属分支
  3. 确定事件名
  4. 执行流水线
  5. 执行任务
  6. 失败时的任务

具体的完整示例大家可以看官方文档介绍,官方提供了丰富的案例资源。

真的,你看,腾讯云的 CNB 不仅仅只是一个代码仓库,还是一个云原生构建平台,让开发变得非常高效灵活便捷。

最后,如果你想把 GitHub 上的仓库迁移到 cnb.cool,也非常简单。cnb.cool 专门提供了便捷的迁移工具。登录 cnb.cool 新建仓库后,在云原生开发环境里执行一条命令就行:

cnb-init-from https://github.com/your-repo.git

这条命令会自动把你的 GitHub 仓库克隆到 cnb.cool 平台,轻松完成迁移。

大家赶紧去试一试吧。

地址:https://cnb.cool/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值