Total Pageviews

5,428,542

Tuesday, 15 April 2025

好人好梦

消失的國界. 華裔在美国,以"亞洲超市"為起點 引華人開店,塑造商圈 跨入房地產產業,招商建城.

 

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

我们都知道,前天 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/

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