Katacoda
Katacoda是一个面向软件工程师的交互式学习和培训平台,可在浏览器中使用真实环境学习和测试新技术,帮助开发人员学习,并掌握最佳实践。
Katacoda可以快速的提供一套完整的临时环境,并在使用后将其回收。用户可以根据设计好的引导步骤,通过浏览器上的终端界面操作一套完整的环境,一步步的学习和实践。尤其是在学习Kubernetes这种复杂的应用时,单单是创建一个集群就要花去不少时间,同时消耗的资源也令一些初学者望而生畏,Katacoda的出现很好的解决了这些问题。课程设计者可以定制应用程序所需环境,并设计循序渐进的指导路径,旨在确保用户以最佳方式学习。
在Katacoda每个用户都可以免费的学习和创建课程,其中:
Course:课程,可包含一系列的scenarios
官方教程入口:https://katacoda.com/scenario-examples/scenarios/create-course
汉化教程入口:https://www.katacoda.com/guoxudong/courses/katacoda-example/create-course
Scenarios:场景、方案
官方教程入口:https://www.katacoda.com/scenario-examples/scenarios/create-scenario-101
汉化教程入口:https://www.katacoda.com/guoxudong/courses/katacoda-example/katacoda-create-scenarios
使用 Katacoda 学习
Katacoda提供了非常便利的学习方式,用户只需要打开相应课程,就可以跟着课程设计者的说明,按照设计好的步骤一步步完成学习。
介绍会标明课程的难度和需要的时间,帮助用户了解该课程的基本信息:

进入课程,左侧是该步骤说明,右侧是一个已经准备好的终端,直接可以使用:

之后就是跟着步骤说明,一步步的完成学习即可:

创建课程
既然可以学习别人设计好的课程,那么也可以自己设计课程,以供用户学习。
基本步骤
Create Profile
Configure Git
可以选择GitHub自动创建
Download CLI
npm install katacoda-cli --global
Get Started
$ katacoda scenarios:create
$ git add .
$ git commit -m "New scenario"
$ git push origin master
Once the scenario has been pushed you can view it on your profile page https://katacoda.com/yezhou.
新建仓库
Katacoda需要注册账号登录,这里直接使用GitHub账号登录即可,毕竟之后创建的方案都是存放在GitHub上的。
这里推荐在页面新建仓库,访问https://www.katacoda.com/teach/git-hosted-scenarios,点击Automatically Create and Configure Github Repository按钮,Katacoda会自动在您的Github中创建一个名为katacoda-scenarios的仓库,并自动为您配置Webhook,每次更新该仓库时,都会自动更新Katacoda中课程的内容。

创建完成后,就可以在您的 Github 上找到名为 katacoda-scenarios 的代码仓库。
Scenarios
Scenarios即为方案、场景,由一组Markdown、bash脚本和一个JSON文件组成,这些文件保存了该Scenarios的所有配置。
Katacoda官方提供了CLI工具,帮助您创建Scenarios。
安装 CLI
通过npm命令安装npm i katacoda-cli --global
命令遵循语法的是$ katacoda COMMAND
安装完成后,可以通过运行命令katacoda --help查看帮助信息
创建 Scenarios 目录
例如,要创建新的方案,可以通过运行命令katacoda scenarios:create,CLI将会提示一些信息,帮助您创建方案:
Friendly URL: 此处可输入test-scenario,该属性将确定scenarios文件夹的名称,以及用来访问的URL。因此,该属性不能包括空格,需要是小写字母等。例如,如果用户名是test-username并且方案称为test-scenario(如建议的那样),用于在平台中指向该方案的URL将为https://katacoda.com/test-username/scenarios/test-scenario/Title: 方案的标题,将会显示在简介上Description: 方案的描述,将会显示在简介上Difficulty level: 难度级别,将会显示在简介上Estimated time: 估计完成的时间,将会显示在简介上Number of steps: 方案的步骤数。CLI将会为您的所有步骤创建文件Image: 确定适用于方案的基本软件。例如,如果需要docker,java,go等作为前提条件。更多相关信息,请阅读 https://katacoda.com/docs/scenarios/environmentsLayout: 它将确定方案界面元素的配置。例如,如果只想显示终端,或编辑器+终端等形式,更多相关信息,请阅读 https://katacoda.com/docs/scenarios/layouts
输入这些信息,CLI将帮您创建一个文件夹,其中引入了friendly URL的名称,并将在该文件夹内创建方案所需的文件。
编辑 Scenarios
Scenarios目录创建好之后,可以看到目录的结构:
.
├── finish.md
├── index.json
├── intro.md
├── step1.md
├── step2.md
├── step3.md
├── step4.md
└── step5.md
index.json:文件中定义了标题、描述、步骤顺序、UI 布局以及所需环境,内容与使用CLI工具创建时输入的是一致的,如果想对输入的内容进行修改,也可以在这里修改intro.md:介绍页,用来介绍您这个 Scenariosfinish.md:结束页step1-setpN.md:步骤介绍,数目与您使用CLI工具创建Scenarios时输入的数目相同
上传
将创建的Scenarios移动到之前创建的git项目中。
$ git add .
$ git commit -m "New Scenarios"
$ git push origin master
上传成功后,在Your Profile页面就可以看到上传的课程。
总结
Katacoda是一个面向软件工程师的交互式学习和培训平台,开发人员根据产品特色设计学习流程,方便用户的学习;学习者则无需关心环境的搭建与依赖的安装,通过开发人员设计的最佳实践来进行学习,快速又高效。最重要的是,它是免费的!




