'日报周报的说明'
This commit is contained in:
parent
fabdc484a9
commit
79f328eee9
|
|
@ -0,0 +1,250 @@
|
|||
<div align=center><font size=5>众望通科技 研发中心</font></div>
|
||||
<div align=center><font size=6>YOUFOOL-INCREPACK 架构设计</font></div>
|
||||
|
||||
[TOC]
|
||||
|
||||
|
||||
|
||||
## 1 项目说明
|
||||
|
||||
YOUFOOL-INCREPACK是一个管理补丁发布的 **工具链**。主要为了解决 **开发环境** 与 **实施环境** 网络隔离情况下,规范Web应用中补丁的升级,同时为Web应用添加校验机制,未经授权的修改无法部署到Web应用中,规范了实施环境的管理。
|
||||
|
||||
## 2 主要功能
|
||||
|
||||
* 根据配置生成指定范围增量补丁文件;
|
||||
* 版本管理自动化,对版本号形成强约束管理;
|
||||
* 向补丁发放授权;
|
||||
* 补丁升级过程自动化:补丁下载、解压、备份、覆盖、系统关停、启动、升级成功检测;
|
||||
* Web中间件启动过程校验,未经授权的文件无法部署启动。
|
||||
|
||||
## 3 技术设计
|
||||
|
||||

|
||||
|
||||
YOUFOOL-INCREPACK由四个部分组成:
|
||||
|
||||
* PMS
|
||||
* Increpack-maven-plugin
|
||||
* Increpack-client
|
||||
* Increpack-interceptor
|
||||
|
||||
### 3.1 PMS
|
||||
|
||||
项目管理系统,闭环管理的角色,升级流程的起点与终点:
|
||||
|
||||
* 发布的补丁的授权文件,设定版本逐级发布的链路(链路节点参与补丁授权),最后接收现场升级后的完成信息,作为版本发布的闭环节点;
|
||||
* 负责所有系统版本发布信息的管理;
|
||||
* 负责所有系统的License管理;
|
||||
|
||||
### 3.2 Increpack-maven-plugin
|
||||
|
||||
Maven插件,只适用在Maven管理的开发项目中,Package阶段完成补丁的打包。配置 `Git` 仓库信息、Revision信息和版本号信息后,生成特定版本号样式的补丁。
|
||||
|
||||
> 补丁名称样例:*aicods_gz-1.0.12-RELEASE-r252.200504.zip*
|
||||
|
||||
#### 3.2.1 补丁文件结构
|
||||
|
||||
* 工程文件,目录结构遵循约定,与部署环境一致
|
||||
* incre_config 目录专门存放配置文件信息
|
||||
* auth文件,补丁的授权信息
|
||||
* version.json文件,补丁的版本信息
|
||||
* README.txt文件,补丁的描述信息
|
||||
|
||||
#### 3.2.2 版本号说明
|
||||
|
||||
补丁版本号示例: ` youfool-pms_v1.0.12_c6303209da_20201011 `
|
||||
|
||||
* 项目名称:youfool-pms,按照约定,与POM中 artifactId 一致;
|
||||
|
||||
* 版本号: v1.0.12,编号规则(严格递增):
|
||||
|
||||
`MajorVersionNumber.MinorVersionNumber.BugFixNumber`
|
||||
|
||||
1. `MajorVersionNumber`,主版本号,项目发生重大升级时递增
|
||||
|
||||
2. `MinorVersionNumber`,子版本号,项目进行需求变动升级时递增
|
||||
|
||||
3. `BugFixNumber`,修正版本号,项目进行Bug修复时递增
|
||||
|
||||
* 代码版本号:c6303209da,对应 `GIT` 的 commit SHA-1 编号,增量补丁截止的版本
|
||||
|
||||
* 时间序列号:20201011,打包操作的时间描述,2020年10月11日
|
||||
|
||||
|
||||
### 3.3 Increpack-client
|
||||
|
||||
客户端负责工具,由实施人员操作。主要用于辅助实施人员完成补丁的升级、回退和一些简单的系统管理功能。具体功能有:
|
||||
|
||||
* 补丁授权的校验
|
||||
* 补丁版本号校验
|
||||
* 执行补丁文件的覆盖与备份
|
||||
* 往实施环境写入授权信息
|
||||
* 应用系统的关闭与启动
|
||||
* 系统可用性检测
|
||||
|
||||
### 3.4 Increpack-interceptor
|
||||
|
||||
Web容器拦截器,用于Web容器启动时进行授权校验:
|
||||
|
||||
* 计算环境中应用文件的Hash信息是否与auth授权数据一致,如果出现不一致,认为应用文件被篡改,中断系统启动过程;
|
||||
* 应用的license校验;
|
||||
* 系统启动的消息发布,发布渠道:企业微信和应用自带的版本发布消息模块。
|
||||
|
||||
|
||||
|
||||
## 4 版本发布流程
|
||||
|
||||
### 4.1 版本发布服务器
|
||||
|
||||
### 4.2 分支管理
|
||||
|
||||
### 4.3 版本号管理
|
||||
|
||||
|
||||
|
||||
## 5 配置说明
|
||||
|
||||
### 5.1 工程配置说明
|
||||
|
||||
#### 5.1.1 POM配置
|
||||
|
||||
1. 引入依赖youfool-increpack-maven-plugin
|
||||
|
||||
```xml
|
||||
<dependency>
|
||||
<groupId>com.chinaweal.youfool</groupId>
|
||||
<artifactId>youfool-increpack-maven-plugin</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
2. 在build.plugins节点下配置需要用到的插件(直接拷贝即可)
|
||||
|
||||
```xml
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<configuration>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
<descriptors>
|
||||
<descriptor>target/assembly.xml</descriptor>
|
||||
</descriptors>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>make-assembly</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.6.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>java</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<mainClass>com.chinaweal.youfool.increpack.maven.IncrePackMain</mainClass>
|
||||
<arguments>
|
||||
<argument>${project.artifactId}</argument>
|
||||
<argument>${project.version}</argument>
|
||||
</arguments>
|
||||
<cleanupDaemonThreads>false</cleanupDaemonThreads>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>authMac</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>java</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<mainClass>com.chinaweal.youfool.increpack.common.AuthPackMain</mainClass>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
```
|
||||
|
||||
|
||||
#### 5.1.2 increpack.xml配置
|
||||
|
||||
文件放置在Maven工程根目录
|
||||
|
||||
```XML
|
||||
<increpack>
|
||||
<!-- 版本服务器接口地址 -->
|
||||
<increApi>http://172.22.80.91:8086/control/upgradeRecord/getUpgradeByAppIdAndCodeId</increApi>
|
||||
<!-- 应用ID -->
|
||||
<appId>d789d196fdb40bdb2df321216da192ff</appId>
|
||||
<!-- 工程ID -->
|
||||
<codeId>e53514c7330d9ccbe701a26cf0803243</codeId>
|
||||
|
||||
<!--托管服务器服务器配置-->
|
||||
<code>
|
||||
<method>git</method> <!--托管的服务器方式 git、svn-->
|
||||
<url>http://47.107.61.133:3000/chinaweal/fsrl-server.git</url> <!--托管仓库地址-->
|
||||
<localRepo>D:\chinaweal\gitea-code\fsrl-server_medical</localRepo> <!-- 工程文件所在地址目录 -->
|
||||
<subRoute>youfool-increpack-maven-plugin-git</subRoute> <!--工程存放的git仓库不是主目录,需要指定路径项目 -->
|
||||
<!--默认先从increApi获取打包补丁范围可以不填写,当请求失败则再使用-->
|
||||
<fromCommit>d160c658ccf1e764cb65bc5e59986b1b2b791144</fromCommit> <!-- 起始的版本号 -->
|
||||
<untilCommit>64575ae03c6406744821bc4cba81b69f9f27181f</untilCommit> <!-- 截止的版本号-->
|
||||
</code>
|
||||
|
||||
<!-- 本地化配置文件,不用打包,以手工操作的方式进行升级 -->
|
||||
<exclude>
|
||||
<fileDir>src\main\resources\properties</fileDir>
|
||||
<file>src\main\resources\spring\JobBySpring.xml</file>
|
||||
<file>src\main\resources\config.properties</file>
|
||||
<file>src\main\resources\logback.xml</file>
|
||||
<file>src\main\resources\backfill\backfill.properties</file>
|
||||
</exclude>
|
||||
</increpack>
|
||||
|
||||
```
|
||||
|
||||
#### 5.1.3 前端工程配置
|
||||
|
||||
package.json追加工程信息
|
||||
|
||||
```json
|
||||
{
|
||||
"appId": "7d7182320870b9f0a36d843ddbb77362",// 应用ID
|
||||
"codeId": "ec05f963917a612d247f39ec8fc1ba47",//工程ID
|
||||
"increApi": "http://172.22.80.91:8086/control/upgradeRecord/getUpgradeByAppIdAndCodeId"//版本服务器接口地址
|
||||
}
|
||||
```
|
||||
|
||||
vue.config.js 配置引用插件
|
||||
|
||||
```javascript
|
||||
configureWebpack: {
|
||||
plugins: [
|
||||
new IncrePack(packageJson)
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 6 下一步
|
||||
|
||||
### 6.1 完善功能
|
||||
|
||||
1. 增量打包插件进行调整新建目录专门存放配置文件
|
||||
2. 增量打包插件,进行记录删除的日志进行移除文件
|
||||
|
||||
### 6.2 规划方向
|
||||
|
||||
1. Client功能的完整:下载补丁、关停中间件、启动中间件、系统可用性检测、系统版本升级数据管理;
|
||||
2. 升级的闭环:PMS结合项目实现补丁授权、生产环境升级历史的统一管理。
|
||||
|
|
@ -145,12 +145,17 @@ IDEA社区版运行tomcat必装
|
|||
|
||||
### 增量打包部署
|
||||
|
||||
[youfool-increpack-readme](../应用部署/youfool-increpack-readme.md)
|
||||
|
||||
## 军情报告(日报,周报)
|
||||
|
||||
### 日报
|
||||
|
||||
一般在入职后的第二周,项目经理就开始要求你写日报。
|
||||
一般在入职后的第二周,项目经理就开始要求你写日报。日报通过企业微信的工作台的`汇报`-`日报`功能进行每日的工作,以及第二天的工作的汇报。
|
||||
|
||||
### 周报
|
||||
|
||||
## 常见问题
|
||||
同样的,一般在入职后第二周或第三周开始,项目经理就开始要求你每周周五早上写周报。点击下载<a href="../%E6%A8%A1%E7%89%88/xxx%E4%B8%AA%E4%BA%BA%E5%B7%A5%E4%BD%9C%E5%91%A8%E6%8A%A5%EF%BC%882021.12.13%20-%202021.12.17%EF%BC%89.xls" target="_brank">周报模版。</a>
|
||||
模版一般通过企业邮箱发送到自己的项目经理手上。这个具体要看你的项目经理的安排。
|
||||
|
||||
## 常见问题(Q&A)
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in New Issue