From 97173eb0d59503984a22338f6aa01870a98d9cb1 Mon Sep 17 00:00:00 2001 From: qiaofeng1227 <76487013@qq.com> Date: Thu, 7 Sep 2023 18:36:25 +0800 Subject: [PATCH] process --- docs/notes/15929A80.png | Bin 0 -> 4246 bytes docs/notes/Process.md | 52 +++++++++++++++++++++++++++++----------- 2 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 docs/notes/15929A80.png diff --git a/docs/notes/15929A80.png b/docs/notes/15929A80.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c0f54ef142a50443e979d5148764f4113e4f2 GIT binary patch literal 4246 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 literal 0 HcmV?d00001 diff --git a/docs/notes/Process.md b/docs/notes/Process.md index fda1c176..b4caaf25 100644 --- a/docs/notes/Process.md +++ b/docs/notes/Process.md @@ -9,11 +9,11 @@ 另外还有与系统维护相关的: - Settings +- Install - Upgrade - Fix - CLI - ## CI CI 遵循几个法则: @@ -22,7 +22,29 @@ CI 遵循几个法则: * Git 驱动,保证编排物料与应用运行环境分离,编排物料可修改可复原 * 编排物料中的资源(包/镜像)具备良好的网络可达性 -### integation/ +CI 过程中除了直接使用 [Gitea API](https://docs.gitea.cn/api/1.19/) 之外,还需增加如下业务: + +### integation/repository/prepare + +准备一个可用的项目: + +1. 基于 library/apps/app_name 目录创建一个临时目录 app_id + > app_name 是软件名称,例如:wordpress。app_id 是用户安装的应用名称,例如:mywordpress + +2. 根据安装输入,更改临时目录 .env 文件中的重要参数: + + - APP_*_PORT 值确保未被使用或将被使用 + - APP_URL 用域名/公网IP替换 + - POWER_PASSWORD 使用 16位 【大小写数字特殊字符】 替代 + - APP_VERSION 根据安装输入参数替换 + - APP_NAME 更换为 app_id + +### integation/repository/create + +创建一个符合 Websoft9 规范格式的 repository: + +1. 在 Gitea 中创建一个名称为 app_id 的 repository +2. 修改 Gitea repository 仓库的设置属性,只保留【代码】栏 ## CD @@ -114,6 +136,7 @@ function proxy(host,domains[], Optional:port, Optional:exra_proxy.conf) 查询所有相关的 proxys **enable()** + enable所有相关的 proxys **disable()** @@ -124,23 +147,24 @@ disable 所有相关的 proxys ### Install -> app_name 是软件名称,例如:wordpress,app_id 是用户安装的应用名称 +功能:安装应用并自动绑定域名 -1. App_Manage API 接受输入并接受语法检查(app_name, app_id, domains[], default_domain, version{}) -2. App_Manage 后端准备源码:Copy app_name from Library -> Modify .env (*port/url/app_name/POWER_PASSWORD/version) -3. APP_Manage 后端调用 Gitea API,创建仓库 +输入参数: - > 1-3 CI过程 +- app_name +- app_id +- domains[] 可选 +- default_domain 可选 +- version{} -4. APP_Manage 后端调用 Portainer API,基于 Gitea Repository 创建应用 staus: [active,inactive] +过程: - > 4 CD过程 +1. CI:App_Manage 准备 repository +2. CI:Gitea 创建 repository +3. CD: Portainer 基于 repository 创建项目(staus: [active,inactive]) +4. CP:Nginx 为应用创建 Proxy 访问 -5. APP_Manage 后端调用 Nginx API,为应用创建 Proxy(port,domains{},customer_proxy) - - > 5 CP过程 - -步骤 3-5 是有状态操作(产生对后续操作有影响的记录),故需考虑事务完整性。 +以上步骤是有状态操作(产生对后续操作有影响的记录),故需考虑事务完整性。 ### Lists