云是您的开发环境
作为一名开发人员,我已经习惯的事情之一就是不断地在不同的项目、它们所需的依赖项以及这些依赖项的版本之间移动。
以下是您可能熟悉的典型工作流程:
- 选择项目
- 检查依赖项
- 结账分行
- 查看自述文件
- 安装工具和依赖项
- 运行构建
- 运行测试
- 开始编码
我们看到云开发环境正在兴起,这些环境将这些步骤抽象化和自动化,消除摩擦,改善开发人员体验,并通过使事情变得更容易来加快开发时间。
与上述工作流程相比,如果它这么简单呢?
- 选择项目👩💻
- 开始编码🚀
多年来,我们见证了这个想法的迭代和成熟,Replit、StackBlitx、CodeSandbox、JSFiddle 等项目以及无数其他项目随着时间的推移而不断改进。
这里明显的最终目标是让世界上任何地方的任何机器上的任何人都可以加入并开始构建、贡献和协作生产代码库,而不必经历单调、耗时且通常复杂的环境设置,也不必从世界上任何一台装有浏览器的机器上进行操作。
随着Gitpod 和 GitHub Codespaces等项目在实际生产代码库中的使用,这一愿景终于开始实现,而且就像 Gitpod 一样,现在世界上任何人都可以免费使用。
在这篇文章中,我想向您展示如何使用Gitpod将您的开发环境迁移到云端。
Gitpod 概述
Gitpod 让您可以自动部署 Github 项目,并通过完整的 VSCode 设置在任何浏览器中直接开始对其进行编码。
您可以在需要时从任何 git 上下文中启动预配置的标准化开发环境,并在完成任务后将其关闭(并彻底忘掉)。开发环境将变得完全短暂。
它的价值主张是:我有一个想参与的项目,或者在 Github 仓库里看到一个我想尝试的项目。使用 Gitpod,你可以点击按钮,或者在 Github 仓库后面附加gitpod.io/#,然后在 Gitpod 中打开它。
Gitpod 将读取 Gitpod 配置文件并运行相关步骤,自动为您设置一切。之后,您可以立即开始编写代码、运行其他 CLI 命令以及测试项目(包括为前端应用程序运行 Web 服务器)。
一些自动化的例子:
区块链应用
- 安装依赖项
- 启动本地以太坊节点
- 编译智能合约
- 部署智能合约
- 启动 Web 服务器
带有 RUST API 的 Docker
- 设置环境变量
- 启动 Postgres
- 构建项目 -
cargo build
- 运行项目 -
cargo run
Jamstack 应用程序
- 安装依赖项
- 启动 Web 服务器
让我们看看如何开始自动化这些类型的项目。
入门
我将在这里给出两个例子:
- 将你自己的项目部署到 Gitpod 并实现自动化
- 将现有项目部署到 Gitpod
部署和自动化您自己的项目
首先,创建一个新的 Next.js 应用程序并创建一个.gitpod.yml文件:
npx create-next-app myapp
cd myapp
touch .gitpod.yml
使用以下代码更新.gitpod.yml :
tasks:
- name: Install and deploy
init: yarn
command: npm run dev
一旦项目在 Gitpod 中启动,此配置将执行以下操作:
- 安装依赖项
- 安装依赖项后运行开发服务器并打开端口 3000
您可以在配置中执行很多操作,包括异步任务。要了解更多功能,请查看此处的文档
接下来,创建一个新的 GitHub 存储库并将项目 URI 复制到剪贴板。
使用您自己的 GitHub 项目 URI,将您的项目推送到 GitHub:
git init
git remote add origin git@github.com:username/myapp.git
git add .
git commit -m 'initial commit'
git push origin main
现在您可以打开您的项目,并且只要有人使用此 URL 模式打开它,它就会自动部署并运行:
https://gitpod.io/#<your-project-uri>
将现有项目部署到 Gitpod
GitPod 还有一些示例项目,您可以在此处运行和部署。
如果您想部署此示例 Next.js 应用程序,请在此处查看我的 repo
后续步骤Next steps
如果您想了解更多信息:
- 查看入门指南
- 在 Twitter 上关注Pauline和Mike
- 查看他们的YouTube 频道
- 以下是一些关于其工作原理的视频概述: