Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add tutorial docs #922

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions docs/delivery/continuous/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- Continuous Delivery
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=436800242&bvid=BV1uj411N7Vy&cid=1005268829&page=1" />

持续交付是一种软件开发实践,通过持续交付,系统可以自动为将代码更改发布到生产环境做好准备。

## 持续集成和持续交付的区别
Expand Down
4 changes: 0 additions & 4 deletions docs/delivery/continuous/multi-env.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- 持续交付
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=436800242&bvid=BV1uj411N7Vy&cid=1005328921&page=4" />

## Rainbond 上多环境交付流程图

如下图所示,我们以后台管理系统为例,利用 Rainbond 应用模版实现多云多环境的持续交付,通常需要以下流程。
Expand Down
4 changes: 0 additions & 4 deletions docs/delivery/continuous/ram.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- 持续交付
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=436800242&bvid=BV1uj411N7Vy&cid=1005311597&page=3" />

## Rainbond 应用模版持续交付流程图

如下图所示,我们以`后台管理系统`为例,利用 Rainbond 应用模版实现持续交付,通常需要以下流程。
Expand Down
4 changes: 0 additions & 4 deletions docs/delivery/continuous/source-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- 持续交付
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=436800242&bvid=BV1uj411N7Vy&cid=1005289623&page=2" />

## Rainbond 源码持续交付流程图

如下图所示,要实现持续交付,通常需要以下流程。
Expand Down
4 changes: 0 additions & 4 deletions docs/delivery/offline/development-iteration.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ keywords:
- 离线环境持续迭代
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=524437005&bvid=BV1zM411n7UZ&cid=1011063943&page=3" />

## 离线环境定制开发的痛点

在应用交付给客户后,客户看到效果后会反馈问题,再持续迭代,直到客户满意,过程中需要频繁升级产品。在这种场景下,又会遇到以下问题。
Expand Down
4 changes: 0 additions & 4 deletions docs/delivery/offline/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ keywords:
- toB offline delivery
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=524437005&bvid=BV1zM411n7UZ&cid=1011022690&page=1" />

由于数据隐私和网络安全的考虑,大多数 toB 场景的客户需要私有化应用交付,也就是需要交付到客户的环境里,这样的客户有政府、金融、军工、公安、大型企业、特色行业等,这些私有化场景限制很多,如何提高私有化应用交付的效率是个难题。

尤其是对于微服务应用而言,一个应用可能有几十个模块,光是编译打包就需要耗费很长时间,每个服务还有自己的配置。即使写好了完整的部署文档和检查表,在服务器较多时,仍可能会因为人工操作错误导致失败。而且在离线环境中,许多开发工具集不完整,出现问题解决起来也极其困难。
Expand Down
4 changes: 0 additions & 4 deletions docs/delivery/offline/micro-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ keywords:
- toB offline delivery
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=524437005&bvid=BV1zM411n7UZ&cid=1011041349&page=2" />

## 离线交付的痛点

在传统行业,如政府、能源、军工、公安、工业、交通等行业,为了防止数据泄露和运行安全考虑,一般情况下网络会采取内外网隔离的策略,以防范不必要的风险,毕竟在安全防护方面,网络物理隔离是网络安全防御最有效的手段,而网络隔离在软件交付过程中,对于外部软件开发厂商来说将会带来一系列的交付难题,也增加大量成本投入。例如:
Expand Down
4 changes: 0 additions & 4 deletions docs/devops/app-deploy/ci-tools/gitlab-ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- GitLab Runner
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=987870125&page=10" />

用过 GitLab 的同学肯定也对 GitLab CI/CD 不陌生,GitLab CI/CD 是一个内置在 GitLab 中的工具,它可以帮助我们在每次代码推送时运行一系列脚本来构建、测试和验证代码的更改以及部署。

Rainbond 本身默认集成了 CI/CD 的整套流程,用户只需提供源代码,后续构建、运行完全交给 Rainbond 处理,整个过程是由 Rainbond 定义的,无需用户干预。这样有利也有弊,利就是简化用户的操作和无需学习 CI/CD 相关知识;弊是用户无法在 CI/CD 过程中自定义,比如想集成代码检测或运行个脚本,这在 Rainbond 的源码构建流程中是不可自定义的。
Expand Down
5 changes: 0 additions & 5 deletions docs/devops/app-deploy/nodejs.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ keywords:
- Rainbond 部署 Koa 项目
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=4" />


本篇文档介绍如何在 Rainbond 平台上通过源代码部署 NodeJS 前端项目和后端项目。例如 Vue、React 等前端项目和 Express、Koa 等后端项目。

## 概述
Expand Down
4 changes: 0 additions & 4 deletions docs/devops/app-deploy/springboot.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ keywords:
- Java Maven 项目部署
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=5" />

## 概述

Rainbond 支持构建 SpringBoot 单模块和多模块的项目,并自动识别。同时也支持通过 Gradle 构建的项目。
Expand Down
4 changes: 0 additions & 4 deletions docs/devops/code-repository/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- Rainbond Git 仓库对接
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=3" />

Rainbond 支持对接 Git 代码仓库,从源代码仓库直接创建组件。

目前 Rainbond 支持 `GitHub GitLab Gitee` 三种支持 Git 仓库对接的 Oauth 类型。Rainbond 所有支持的 OAuth 类型需要正常配置权限才能正常使用,比如 `Github GitLab Gitee` 需要授予获取代码仓库列表等权限。
Expand Down
4 changes: 0 additions & 4 deletions docs/devops/continuous-deploy/auto-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- Rainbond 自动部署
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=8" />

通过自动构建的功能,可以实现代码或镜像提交后组件自动触发构建和部署,Rainbond 提供了基于代码仓库 Webhooks、镜像仓库 Webhooks 和自定义 API 三种方式触发组件自动部署。自动构建的功能可以辅助开发者便捷的实现敏捷开发。

## 前提条件
Expand Down
4 changes: 0 additions & 4 deletions docs/devops/continuous-deploy/gitops.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- 持续部署
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=7" />

本文介绍 Rainbond 如何和 GitLab 进行 OAuth 对接,并实现对 GitLab 中项目的快速部署和利用 Webhook 实现自动构建。

## 前提条件
Expand Down
4 changes: 2 additions & 2 deletions docs/devops/continuous-deploy/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: 持续部署
description: 本文讲解Rainbond组件与外部平台对接实现自动构建和部署的方式
---
Expand All @@ -8,4 +8,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
4 changes: 0 additions & 4 deletions docs/devops/env-version/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ describe: 本文介绍通过应用复制功能快速进行多个开发环境的
# keywords: 组件复制 应用复制 组件快速部署 应用快速部署
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=6" />

## 开发、测试环境管理

应用开发过程中,同一个业务系统开发者可能需要重复多次的进行开发环境搭建。比如以下几类情况:
Expand Down
4 changes: 2 additions & 2 deletions docs/devops/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: DevOps 指南
description: Rainbond DevOps 指南
keywords:
Expand All @@ -12,4 +12,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
4 changes: 0 additions & 4 deletions docs/devops/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ keywords:
- Rainbond DevOps
---

import Bvideo from '/src/components/Bvideo';

<Bvideo src="//player.bilibili.com/player.html?aid=820892498&bvid=BV1334y1f76U&cid=983036584&page=2" />

DevOps 是文化理念、技术实践和工具的组合,可促进技术运维和软件开发团队之间的集成、协作、沟通和自动化,从而提高软件交付的质量和速度。

## 了解 Rainbond DevOps
Expand Down
4 changes: 2 additions & 2 deletions docs/installation/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: '安装Rainbond'
description: 安装Rainbond
---
Expand All @@ -9,4 +9,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
4 changes: 2 additions & 2 deletions docs/kubernetes-native-guide/helm/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: 使用 Helm 部署组件
description: 本章节介绍在 Rainbond 上如何通过 Helm 市场和 Helm 命令部署组件。
keywords:
Expand All @@ -10,4 +10,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
4 changes: 2 additions & 2 deletions docs/kubernetes-native-guide/import-manage/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: Kubernetes 资源导入和管理
description: 本章节介绍在 Rainbond 上如何导入已有 Kubernetes 资源和管理非 Workload 类型资源。
keywords:
Expand All @@ -12,4 +12,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
4 changes: 2 additions & 2 deletions docs/kubernetes-native-guide/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: 原生 Kubernetes 指南
description: 从 Kubernetes 向 Rainbond 迁移。
keywords:
Expand All @@ -13,4 +13,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
4 changes: 2 additions & 2 deletions docs/kubernetes-native-guide/yaml/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
<!-- ---
title: 使用 YAML 部署组件
description: 介绍在 Rainbond 上使用 YAML 部署组件。
keywords:
Expand All @@ -11,4 +11,4 @@ import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

<DocCardList items={useCurrentSidebarCategory().items}/>
```
``` -->
84 changes: 30 additions & 54 deletions docs/quick-start/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -1,66 +1,42 @@
---
title: 快速入门
title: 部署你的第一个应用
description: 该文档将指引你完成第一个应用的部署与安装
keywords:
- Rainbond 部署教程
- 2048 部署
---

本文将指引你部署一个应用程序来快速熟悉 Rainbond 的基本功能,从源码构建 Java-Maven Demo示例开始,后通过应用编排的形式将 Java-Maven Demo 连接到 MySQL 服务,从而实现一个基本的应用部署。
在本节中,我们将引导您完成以下内容:

## 准备工作
- 使用 Rainbond 源码构建 2048 Demo。

1. 提前安装好 Rainbond,参考[快速安装](/docs/quick-start/quick-install)
## 前提

## 第一步 创建组件
- 已完成 [Rainbond 快速安装](/docs/quick-start/quick-install)。

通过快速安装部署的 Rainbond 平台,首次进入会在一个团队引导页面,在这里可以通过多种方式部署我们的组件,应用市场、镜像、源码、或者是 Yaml Helm 等。
## 通过源代码部署 2048 服务

1. 下面我们选择 `从源码构建 --> 示例 --> 选择 Java-Maven Demo --> 确认创建`。

2. 进入代码检测页面,检测完毕后点击下一步。

3. 构建参数设置页面,在这里设置你本次构建的参数,例如版本、构建命令等,根据源码选择的语言不同还会有一些扩展参数设置。例如 java-maven 有 JDK 版本、Maven版本等参数。我们用默认参数即可,然后点击下一步。

4. 这里是一些高级配置,在这里可以对端口、配置文件、环境变量、存储进行管理。这里我们依然用默认参数、然后点确认构建。

创建完毕后会跳转到平台的组件视图,至此,我们创建流程全部走完。

## 第二步: 访问组件

组件视图包含组件的多个分栏:
- 监控:组件的一些监控信息、内存、CPU等
- 日志:可以看到组件运行日志
- 伸缩:对组件的实例数、内存、CPU 等操作
- 环境配置:组件运行时的环境变量、配置文件的挂载绑定。
- 依赖:组件之间的连接依赖信息。
- 存储:组件存储管理,可为组件配置挂载存储。
- 端口:组件端口以及端口对应的访问策略的管理。
- 插件:组件插件,辅助你的主业务容器工作的插件容器。
- 构建源:可自由切换组建的构建源,可从源码到镜像、或从镜像到源码。
- 其他设置:可以对组件的部署类型进行切换。无状态、有状态;组件健康检测;Kubernetes 属性则是组件的一些高级属性配置。

当我们看到组件运行状态为绿色时,即代表组件运行正常,此时我们可以点击右上角的访问按钮访问到该组件,如下图所示:

![maven-page](https://static.goodrain.com/docs/5.7/docs/quick-start/maven-page.jpg)

或者是在组件视图点击端口可看到组件的访问地址、点击访问地址便可跳转到组件页面,至此,我们已经在 Rainbond 上部署了第一个组件。

## 第三步: 编排应用程序(可选)

在之前的步骤中,我们仅仅只是部署了`源码构建示例`这个应用下的一个模块,即 UI 部分,接下来我们将会简单介绍,如何部署一个 Mysql 数据库,并使 Maven 项目读取到 MYSQL 的信息。

我们依然重复之前的新建组件的步骤,在应用`源码构建示例`下,选择 `添加组件-->从应用市场开始-->开源应用商店-->搜索 Mysql-->安装 MYSQL-Percona单机版`。如果你没有安装权限,请先点击搜索框下的`去授权`获取权限。

安装完成后我们可以看见应用下多了一个 Mysql 组件。我们选择编排模式,将 Maven 与 Mysql 连接起来。这样就建立起了 Maven 项目与 Mysql 的依赖关系。依赖添加完成后按照提示更新组件。

![establish-dependencies](https://static.goodrain.com/docs/5.7/docs/quick-start/establish-dependencies.jpg)

等待组件更新完成后,我们可以再次访问 Maven 组件,点击 Mysql 示例,可以看到 Mysql 的连接信息以及数据库中存在的表。如下图所示。

![maven-mysql-demo](https://static.goodrain.com/docs/5.7/docs/quick-start/maven-mysql-demo.jpg)

这说明我们的项目已经成功连接到了我们刚刚部署的 Mysql 组件上,并读取到了对应的表信息。此时我们的应用`Maven项目示例`完整部署完毕。它包含了一个 Maven 项目以及数据库。你可以在拓扑图清楚的看到他们之间的依赖关系。
1. 进入目标团队视图,创建新应用。
2. 选择从源码构建 ➡️ 源码。
- 自定义应用名称。
- 仓库地址:`https://gitee.com/rainbond/demo-2048.git`。
- 分支:`master`。
3. 代码语言识别过程:
- 自动解析对应的语言类型,这里为 `static`。
4. 资源配置过程(保持默认)。
5. 基础配置过程(保持默认)。
6. 部署过程监控:
- 总览 ➡️ 操作记录查看源码构建日志(预计 2-5 分钟)
- 验证运行状态(绿色)
7. 访问验证:
- 组件 ➡️ 端口视图,通过自动生成的**域名**访问示例页面。

## 下一步

现在你已经完成了第一个应用的部署,接下来你可以尝试:
- [部署你的应用](../devops/app-deploy/)
- [安装多节点集群](../installation/)
恭喜,你已经完成了你的第一个应用的部署!你可以继续深入了解 Rainbond 使用教程:

- [使用 Rainbond 实现快速部署源码和中间件](../tutorial/via-rainbond-deploy-sourceandmiddleware)
- [应用异常部署与诊断](../tutorial/app-exception-deployanddiagnosis)
- [自定义域名并配置 HTTPS](../tutorial/custom-gateway)
- [通过应用模板实现版本控制与快速部署](../tutorial/app-template-manage)
- [通过应用模板实现离线跨环境交付](../tutorial/app-template-offline)
Loading