共计 2174 个字符,预计需要花费 6 分钟才能阅读完成。
随着云原生浪潮的降临,软件开发流程中的各个环节都在产生改革,其中有一个十分热门的方向就是“云 IDE”。所谓“云 IDE”就是应用云端的计算资源作为开发环境,进行软件我的项目的开发。
这种开发模式对于开发者来说有很多益处,例如:
- 计算资源予取予求,不会因为硬件限度影响开发效率;
- 开发环境标准化,每个我的项目的开发环境可能有很多软件依赖,这些依赖能够通过 Docker 镜像的模式进行标准化;
- 疾速为每个我的项目启动或捣毁一个开发环境,防止多个我的项目并行开发时存在依赖抵触等问题;
- 纯正的 Linux 环境。对于服务端开发同学来说,MacOS 和 Windows 的依赖问题往往比开发我的项目代码还要艰难;
目前最风行的两种 IDE,非 Jetbrain 系和 VSCode 莫属,而这两种广受欢迎的开发工具都有相干的云产品面世,可见很多开发者看好“云 IDE”这个方向。
Apache APISIX 是一个动静、实时、高性能的 API 网关,提供负载平衡、动静上游、灰度公布、服务熔断、身份认证、可观测性等丰盛的流量治理性能。
Apache APISIX 作为开源的云原生 API 网关,如何疾速的部署 APISIX 的开发环境对于开发者是比拟重要的。本文将为大家介绍如何应用 Gitpod 对 Apache APISIX 进行相干开发。
装置 Gitpod Chrome 插件
Gitpod 为三个支流代码托管服务 GitLab、GitHub 和 Bitbucket 提供了一键启动性能,您只须要装置 Chrome 插件即可进行后续应用。
装置实现后,这个插件会在代码仓库页面注入一个启动按钮,以 GitHub 为例。装置插件后关上 APISIX 我的项目地址,能够看到相干按钮:
单击 Gitpod 按钮会跳转到 Gitpod 的页面,实现 GitHub 利用受权后,进入以下界面:
是不是十分相熟? 对,这就是时下最风行的代码编辑器 VSCode。
为了实现 VSCode 客户端与服务端拆散的架构,Gitpod 保护一个 VSCode 的分支。作为一个云上的 VSCode,它与桌面版的性能统一。咱们在本地开发时罕用的插件一样能够在云上应用,与本地不同的是,云上的 VSCode 有着服务器级别的计算资源和网络环境。
应用 Gitpod 搭建 APISIX 开发环境
步骤一:执行测试用例
置信很多刚接触开源的同学,都为如何搭建开源我的项目的开发环境感到过困扰,因为开源我的项目往往都会存在大量自动化执行的测试用例来保障整个我的项目的品质,所以如何在开发者在本地运行这些测试用例,可能是咱们遇到的第一个问题,这一点和企业内的开发可能有比拟大的差别。
上面咱们尝试在 Gitpod 中运行 APISIX 的测试用例,这里能够参考 APISIX 仓库中的 github workflow 配置依赖。在 Gitpod 的终端中执行如下步骤:
# 启动 CI 依赖的组件
make ci-env-up project_compose_ci=ci/pod/docker-compose.common.yml
# 装置编译依赖
sudo apt install -y cpanminus build-essential libncurses5-dev libreadline-dev libssl-dev perl libpcre3 libpcre3-dev libldap2-dev
# 进行编译和执行测试用例
sudo OPENRESTY_VERSION=default ./ci/linux_openresty_1_17_runner.sh do_install
sudo ./ci/linux_openresty_1_17_runner.sh script
整个过程会十分晦涩,因为这里有一个暗藏的劣势:Gitpod 运行环境是在国外的,所以下载各种依赖的速度会十分的快,不会遇到网络问题。
步骤二:拜访 HTTP 服务
那么对于我的项目中启动的 HTTP 服务(例如 APISIX)咱们要如何拜访呢?
通过终端拜访天然是能够的,但如果你想要通过页面拜访,也能够通过 Remote Explorer 将关上的端口裸露到公网上,如下图所示:
而后再通过单击端口右侧的浏览器图标,Gitpod 会主动关上一个链接,就能够拜访到这个端口对应的服务了。
常见问题汇总
浏览器端体验
在浏览器中应用 Gitpod 有一个很大的问题是,很多 VSCode 的快捷键会被浏览器捕捉,导致无奈执行对应的操作,这时咱们就能够应用 VSCode 的 Gitpod 插件来实现更加原生的编码体验。
具体方法如下:
- 在 VSCode 的插件市场,装置 Gitpod 插件。
- 在浏览器的 Gitpod 页面单击
Gitpod: Open in VS Code
就能够实现拉起本地的 VSCode 作为客户端连贯到云端的 Gitpod,达到与桌面版雷同成果的编码体验。
私有化部署
后面咱们提到 Gitpod 是一款开源产品,所以是齐全能够在组织外部进行私有化部署服务的,这样就能够在公有代码仓库中应用上这款优良的开发工具。具体部署形式能够参考 Gitpod 的官网文档和仓库。
总结
Gitpod 的长处是能够让开发者疾速上手一个我的项目,这一点十分合乎开源社区的需要。因为开源我的项目往往会给刚刚接触开源的开发者一种神秘莫测的感觉,让人望而生畏,但真正接触后你会发现并不如此。
心愿通过本文的介绍和形容,能够让每一个对开源我的项目感兴趣的开发者借助开源工具加持下,都能更加轻松得退出到开源社区中去,让开源的生态继续凋敝。