From b08dcf5ec4a1ec13d8e78e7d7661d307cf2314ed Mon Sep 17 00:00:00 2001 From: Darren <27513732@qq.com> Date: Fri, 21 Jul 2023 11:42:36 +0800 Subject: [PATCH] docs --- ...pmanage_docker.yml => build_appmanage.yml} | 2 +- appmanage/docs/developer.md | 7 +- docs/architecture.md | 2 +- docs/developer.md | 104 +++--------------- install/README.md | 36 ++++++ 5 files changed, 56 insertions(+), 95 deletions(-) rename .github/workflows/{appmanage_docker.yml => build_appmanage.yml} (97%) create mode 100644 install/README.md diff --git a/.github/workflows/appmanage_docker.yml b/.github/workflows/build_appmanage.yml similarity index 97% rename from .github/workflows/appmanage_docker.yml rename to .github/workflows/build_appmanage.yml index e450a3f1..4850d0d2 100644 --- a/.github/workflows/appmanage_docker.yml +++ b/.github/workflows/build_appmanage.yml @@ -1,4 +1,4 @@ -name: Docker Build And Push To Docker Hub +name: AppManage Build And Push To DockerHub on: push: diff --git a/appmanage/docs/developer.md b/appmanage/docs/developer.md index b4436265..21e87b07 100644 --- a/appmanage/docs/developer.md +++ b/appmanage/docs/developer.md @@ -2,12 +2,13 @@ ## Deployment -Install python3.6+ and Docker, then +Install python3.6+ and Docker on your development environment, then ``` pip install -r requirements.txt +docker build https://github.com/Websoft9/websoft9.git#main:appmanage -t websoft9dev/appmanage:latest-rp docker network create websoft9 -git clone https://github.com/Websoft9/stackhub.git && cd stackhub/docker/appmanage && docker compose up -d +git clone https://github.com/Websoft9/websoft9.git && cd websoft9/docker/appmanage && export APP_VERSION=latest-rp && docker compose up -d ``` ## API UI @@ -16,4 +17,4 @@ Access API by: **http://Internet IP:port/docs** ### Test Automation -Coming soon... +Coming soon... \ No newline at end of file diff --git a/docs/architecture.md b/docs/architecture.md index 4f180663..78be3845 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -21,4 +21,4 @@ As Websoft9 is a complete product, we also offer: * API * CLI -It is more attractive to users is [200+ application templates](https://github.com/Websoft9/docker-library). \ No newline at end of file +And Websoft9 is more attractive to users is [200+ application templates](https://github.com/Websoft9/docker-library). \ No newline at end of file diff --git a/docs/developer.md b/docs/developer.md index 3562c3f8..75223ea3 100644 --- a/docs/developer.md +++ b/docs/developer.md @@ -1,60 +1,34 @@ # Developer Guide +## Version -## 版本管理 +Use *[[major].[minor].[patch]](https://semver.org/lang/zh-CN/)* for version serial number and [version.json](../version.json) for version dependencies -### 命名规则 +## Artifact -[major:大版本].[minor:功能版本].[patch:Bug 修复版本] +The core of DevOps is continue publish, the format of software publish is [Artifact(制品库)](https://jfrog.com/devops-tools/article/what-is-a-software-artifact/). -- major 主版本号,软件架构或软件界面发生重大变化。 -- minor 次版本号,软件功能新增或删减。 -- patch 错误修复版本号,软件缺陷修复。 +Websoft9 use below Artifact for different usage: -> 版本通过 release 发布时指定,主版本号小于 1 时为预发布(pre-release) +#### Dockerhub for image -### 软件内部组件版本 +Access [Websoft9 docker images](https://hub.docker.com/u/websoft9dev) on Dockerhub -Websoft9 的 release 的版本号由项目主版本号和各微服务和插件版本号以及操作系统依赖构成,参照 version.json 说明: +#### Azure Storage package -``` -{ - "SERVICES": { - "PORTAINER": "2.18.3", // portainer 版本号,即对应docker镜像的版本号 - "NGINX": "2.10.3", // nginxproxymanager 版本号,即对应docker镜像的版本号 - "APPMANAGE": "0.7.0", // app管理后台 版本号,即对应docker镜像的版本号 - "REDIS": "7.0.11" // app管理后台 版本号,即对应docker镜像的版本号 - }, - "PLUGINS": { - "PORTAINER": "1.0.0", // cockpit插件 PORTAINER 版本号 - "NGINX": "1.0.0", // cockpit插件 nginx 版本号 - "MYAPPS": "1.0.1", // cockpit插件 myapps 版本号 - "APPSTORE": "1.0.0" // cockpit插件 myapps 版本号 - }, - "LIBRARY": { - "VERSION": "1.0.0" // app项目应用库 docker-library 版本号 - }, - "OS_SUPPORT": { - "CentOS": ["7.9"], - "Ubuntu": ["18.04","20.04","22.04"], - "RedHat": ["7.9","8.6","9.2"] - }, - "VERSION": "0.7.0" // stackhub项目版本号,上面所有组件的更新都会引起其版本更新 -} -``` +Access [packages list](https://w9artifact.blob.core.windows.net/release?restype=container&comp=list) at Azure Storage -### 版本更新内容 -通过项目下 CHANGELOG.md 来进行管理,格式如下: +## Release + +#### CHANGELOG format ``` ## 0.3.0 release on 2023-06-06 -1. appmanage docker 镜像更新到 0.3.0 -2. 修复 prestashop 无法访问的 bug -3. 修复 odoo 无法安装的 bug - +1. appmanage docker update to 0.3.0 +2. fix prestashop 502 ``` ### 制品库管理 @@ -81,56 +55,6 @@ Dockerhub, Github packages, Azure artifacts, CODING 制品库 自动化测试失败,通知各开发人员,删除制品,修改后重新生成制品。 自动化测试成功,同步 version_test.json 到 version.json, 新制品正式发布。 -### 升级 - -升级主要分成软件商店升级和内核升级。 - -#### 软件商店升级 - -主要是软件商店插件更新后引起的升级。 -当本地 appstore 版本小于最新 version.json 的版本时,升级 appstore 插件以及 library 制品。 - -#### 内核升级 - -内核升级会将所有组件升级到最新,除了软件商店升级外,还需要升级以下内容: - -1. docker, cockpit 系统组件 -2. 后台微服务容器 -3. cockpit 对应插件 - -升级都会从制品库获取 version.json 对应版本的制品。 - -#### 升级限制 - -内核升级可能会因为架构系统等原因无法升级,在 version.json 中含有支持升级操作系统依赖,据此来判断是否能升级。 - -## Cockpit 插件 - -待补充。。。 - - - - -### 基础组件 - -技术选型如下: - -- 前端:Nodejs, react, cockpit app -- 后端:Python, Docker, Docker-compose, FastAPI -- API DOCS 生成与测试:swagger -- 安全:pwgen(随机密码),md5(htpasswd) -- 身份验证:(待定) -- CLI:(待定) - -### 产品文件目录 - -便于升级、便于用户使用的产品文件目录组织结构 - -- 微服务容器:/stackhub/docker -- Cockpit 插件:/stackhub/cockpit -- 安装和升级脚本: /stackhub/install -- Appstore 后台源码: /stackhub/appmanage -- cli: /stackhub/cli(待定) ### Contributor diff --git a/install/README.md b/install/README.md new file mode 100644 index 00000000..0b13fbc3 --- /dev/null +++ b/install/README.md @@ -0,0 +1,36 @@ +# Install and Upgrade + +## Install + +### Install Path + +便于升级、便于用户使用的产品文件目录组织结构 + +- 微服务容器:/stackhub/docker +- Cockpit 插件:/stackhub/cockpit +- 安装和升级脚本: /stackhub/install +- Appstore 后台源码: /stackhub/appmanage +- cli: /stackhub/cli(待定) + +## Upgrade + +升级主要分成软件商店升级和内核升级。 + +#### 软件商店升级 + +主要是软件商店插件更新后引起的升级。 +当本地 appstore 版本小于最新 version.json 的版本时,升级 appstore 插件以及 library 制品。 + +#### 内核升级 + +内核升级会将所有组件升级到最新,除了软件商店升级外,还需要升级以下内容: + +1. docker, cockpit 系统组件 +2. 后台微服务容器 +3. cockpit 对应插件 + +升级都会从制品库获取 version.json 对应版本的制品。 + +#### 升级限制 + +内核升级可能会因为架构系统等原因无法升级,在 version.json 中含有支持升级操作系统依赖,据此来判断是否能升级。 \ No newline at end of file