可以使用 gitpod.io/#/你的GitHub地址来在线开发你的GitHub项目
免费版有以下特性:
开始使用
- 我们使用
GitHub账号授权登录后进入到 Workspaces 页面进行创建工作空间

- 点击 New Workspace 后在弹窗中选择自己需要使用 Gitpod 的仓库
- 等待加载完成就进入到一个在线vscode页面可以进行开发了
因为Gitpod会在加载完毕后启动你的项目, 所以刚启动项目的时候右下角可能会弹出以下提示:
第一个是因为Gitpod检测到你项目启动的端口号, 询问是否需要将该URL转为公共,这样你就可以分享给你的团队成员进行访问。
下面是询问你是否需要在你本机的VSCode打开该项目.
Gitpod在配置你项目的时候会创建一个 .gitpod.yml文件用于存放其设置, 该文件具体可配置项如下:
.gitpod.yml配置
| 字段 | 类型 | 说明 | 默认值 | 可选值 |
|---|---|---|---|---|
checkoutLocation | string | 告诉GitPod从哪里检出代码,相对于 /workspace | /workspace | |
gitConfig | object | 定义工作区的git配置, 可以参考git-scm | ||
github | object | 配置 GitHub Gitpod app. 用于为 GitHub 仓库配置持续预构建 | ||
prebuilds.addBadge | boolean | 在PR时是否在描述中添加一个Open in Gitpod按钮 | false | |
prebuilds.branches | boolean | 是否为所有分支创建预构建(prebuilds) | false | |
prebuilds.master | boolean | Gitpod是否为默认分支创建预构建 | true | |
prebuilds.pullRequests | boolean | 定义Gitpod是否为原始仓库的PR创建预构建。 | true | |
prebuilds.pullRequestsFromForks | boolean | 定义Gitpod是否为来自forks的PR创建预构建 | false | |
image | object或string | 工作空间的默认镜像 | gitpod/workspace-full | |
image.file | string | 自定义docker镜像,例子参考 | ||
image.context | string | 可选,当你想要向Docker镜像拷贝文件时,你可以设置该字段 | ||
ports | array | 配置Gitpod对应用端口的处理方式 | ||
port.onOpen | string | 当Gitpod检测到对应端口时的下一步操作 | open-browser,open-previewnotify,ignore | |
port.port | number或 string | 定义单个端口或端口范围: 3000-3100 | ||
port.visibility | string | 端口可见性. 设置 public可以将URL分享给其他团队成员. | private | |
tasks | array | 定义Gitpod如何预构建(准备与构建)你的项目, 每个任务都会在各自的终端中打开 | ||
task.before | string | 在 init和 command之前运行的命令行命令.该命令每次启动都会执行。如果该任务失败,它下面任务将不会执行。 | ||
task.init | string | 在 before之后, command之前运行的命令.该命令只会执行一次。 | ||
task.command | string | 在 init和 before之后运行的主命令行命令.每次启动都会执行, 且不需要被终止. | ||
task.env | string | 定义在workspace中可用的环境变量.环境变量参考 | ||
name | string | 任务名称 | ||
openMode | string | 配置终端相对于上一个任务的打开方式 | tab-after, tab-beforesplit-right, split-left | |
vscode.extensions | array | 用于配置vscode扩展. 需要以 ${publisher}.${name}方式定义.比如 vscodevim.vim |
字段配置例子
github:
prebuilds:
master: true
branches: true
pullRequests: true
pullRequestsFromForks: true
addCheck: false
addComment: false
addBadge: true
tasks:
- before: sh ./scripts/setup.sh
init: npm install
command: npm run dev
- name: Database
init: sh ./scripts/seed-database.sh
command: npm start-db
env:
DB_HOST: localhost:3306
DB_USER: readOnlyUser