[2025-02-20] 更新进度表
All checks were successful
Publish to Confluence / confluence (push) Successful in 59s

This commit is contained in:
liuxiaohua 2025-02-20 18:36:41 +08:00
parent 751b651627
commit 31aa3a7b70
14 changed files with 10928 additions and 37 deletions

View File

@ -3,9 +3,10 @@
- [月度任务规划](http://confluence.qifu.com/pages/viewpage.action?pageId=38503257)
- [周报](http://confluence.qifu.com/display/qifu/20241115)
## 长期任务
- 来源http://confluence.qifu.com/pages/viewpage.action?pageId=38507909
- 监控平台: `GC boot`
- 监控平台: `jeecg boot`
- 自动化测试,精准测试。凯钧
- 企微OA审批
- WhatsApp
@ -13,6 +14,40 @@
- xblms 看看能不能支持 sso
- PM系统与Gitlab打通
- aftership 对接
- 测试环境发布文档
- metersphere sso 集成
## 试用期任务列表
- [X] 搭建开源SSO调研企微开放平台实现企微登录所有内部系统功能
- [X] 2月底之前打通所有内部常用开源服务
- [X] gitlab
- [X] jenkins
- [X] confluence
- [X] kubesphere
- [ ] kibana
- [ ] skywalking
- [X] nacos
- [ ] graylog
- [X] yarning
- [X] harbor
- [ ] nexus sonatype
- [X] 产研协同平台
- [X] yapi接口文档
- [ ] 转正之前支持内部效能平台各服务之间整合互通
- [ ] 打通 PM 系统与 gilab支持项目/需求与代码分支绑定,解决代码分支管理混乱的问题
- https://blog.csdn.net/weixin_39246554/article/details/124764740
- [ ] 开发精准测试平台提升研发提测质量。届时会要求测试覆盖率达不到80%不允许提测。
- [ ] 接入内训平台支持对实习生、正编及主R不同角色的人进行开展不同的培训任务打造学习型团队。
- [ ] 开发持续集成及自动化测试工具满足每天定时执行或研发修改代码后自动触发自动化测试任务更多的发现研发提测的Bug。
- [ ] 开发运维管理平台,对服务器宿主机、虚拟机都进行管控,并于产品线/应用进行绑定。可视化每个产品挂载哪些服务器资源。
- [ ] 接入统一监控/告警平台,支持所有服务针对核心接口配置监控告警大盘。
- [ ] 接入性能测试及压力测试工具满足QA对某些性能要求高的接口进行压测。
- [ ] 开发泳道管理,支持多项目、多任务并行开发互不干扰的问题。
- [ ] PM系统能接收企微请假消息支持PM系统计算工时。
- [ ] WhatsApp对接调研。
- [ ] 配合好业务侧业务需求的开发,为其提供强有力的技术保障
##
- [ ] 回调业务方法实现(回调详情表?)

View File

@ -60,4 +60,5 @@
## 开发说明
- [数据库脚本DDL](./sql/20250208-eg-ddl.sql)
- [Nacos配置文件](./config/20250208-eg-config.yaml)
- [Nacos配置文件](./config/20250208-eg-config.yaml)
-

View File

@ -328,4 +328,14 @@ CREATE TABLE `eg_wework_event_approval_message`
DEFAULT CHARSET = utf8mb4 COMMENT ='审批信息表';
ALTER TABLE `eg_wework_event_approval_message`
ADD INDEX `idx_app_sp_no`(`app`, `sp_no`) USING BTREE;
ADD INDEX `idx_app_sp_no`(`app`, `sp_no`) USING BTREE;
ALTER TABLE `eg_express_register`
ADD INDEX `idx_number_channel_company`(`number`, `channel`, `company`) USING BTREE,
ADD INDEX `idx_create_time`(`create_time`) USING BTREE;
ALTER TABLE `eg_express`
ADD INDEX `idx_number_channel_company`(`number`, `channel`, `company`) USING BTREE;
ALTER TABLE `eg_express_tracking`
ADD INDEX `idx_number_channel_company`(`number`, `channel`, `company`) USING BTREE;

View File

@ -61,7 +61,7 @@ services:
- 默认账号:`root`
- 默认密码:在 `$GITLAB_HOME/config/initial_root_password`
### Yearning Generic OAuth2 配置
### Gitlab Generic OAuth2 配置
- 由于 Gitlab `OIDC` 必须要使用 `https`,所以采用 `Generic OAuth2` 进行SSO
- 可以参考https://docs.gitlab.com/ee/administration/auth/oidc.html#configure-keycloak

View File

@ -4,6 +4,7 @@
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250220-Metersphere安装及SSO接入指南 -->
<!-- Attachment: ../材料/app.zip -->
<!-- Macro: :anchor\((.*)\):
Template: ac:anchor
@ -19,12 +20,13 @@
MaxLevel: 4 -->
<!-- Include: 杂项/声明文件.md -->
<!-- Attachment: ../材料/app.zip -->
<!-- :toc: -->
# Metersphere 安装及 SSO 接入指南
## 附件列表
- [app.zip](../材料/app.zip)
## Metersphere 安装启动
- 可以参考https://metersphere.io/docs/v3.x/installation/offline_installation/
@ -37,16 +39,16 @@
### 解压安装包
```shell
# 解压安装包
#- 解压安装包
tar zxvf metersphere-offline-installer-v3.6.1-lts.tar.gz
```
### 执行安装脚本
```shell
# 进入安装包目录
#- 进入安装包目录
cd metersphere-offline-installer-v3.x.y
# 运行安装脚本
#- 运行安装脚本
/bin/bash install.sh
```

View File

@ -33,24 +33,47 @@
## 平台集成进度
| 平台 | 验证 | 接入 | 部署 | 文档 |
|----------------|----|----|----|--------------------------------------------------|
| IAMKeycloak | √ | √ | √ | [元盟全域SSO方案][元盟全域SSO方案] |
| 门户网站 | √ | √ | √ | [Linkwarden部署指南][Linkwarden部署指南] |
| YApi | √ | √ | √ | [YApi部署指南][YApi部署指南] |
| 产研协同平台 | √ | √ | √ | [产研协同平台企微登录方案][产研协同平台企微登录方案] |
| GitLab | √ | √ | √ | [Gitlab安装及SSO接入指南][Gitlab安装及SSO接入指南] |
| Confluence | √ | √ | √ | [Confluence安装及SSO接入指南][Confluence安装及SSO接入指南] |
| Yarning | √ | √ | √ | [Yearning安装及SSO接入指南][Yearning安装及SSO接入指南] |
| Jenkins | √ | √ | × | [JenkinsSSO接入指南][JenkinsSSO接入指南] |
| KubeSphere | √ | √ | × | [KubeSphere 3.4 整合 OIDC][KubeSphere 3.4 整合 OIDC] |
| Nacos | √ | √ | × | [Nacos安装及SSO接入指南][Nacos安装及SSO接入指南] |
| Kibana | × | × | × | |
| Grafana | √ | √ | × | [Grafana安装及SSO接入指南][Grafana安装及SSO接入指南] |
| Skywalking | × | × | × | |
| Graylog | × | × | × | [Graylog OIDC][Graylog OIDC] (需要企业版,并且需要https) |
| Harbor | × | × | × | [Harbor OIDC][Harbor OIDC] |
| Nexus sonatype | × | × | × | |
| 平台 | 验证 | 接入 | 部署 | 文档 |
|----------------|----|----|----|-------------------------------------------------------------------|
| IAMKeycloak | √ | √ | √ | [元盟全域SSO方案][元盟全域SSO方案] |
| 门户网站 | √ | √ | √ | [Linkwarden部署指南][Linkwarden部署指南] |
| YApi | √ | √ | √ | [YApi部署指南][YApi部署指南] |
| 产研协同平台 | √ | √ | √ | [产研协同平台企微登录方案][产研协同平台企微登录方案] |
| GitLab | √ | √ | √ | [Gitlab安装及SSO接入指南][Gitlab安装及SSO接入指南] |
| Confluence | √ | √ | √ | [Confluence安装及SSO接入指南][Confluence安装及SSO接入指南] |
| Yarning | √ | √ | √ | [Yearning安装及SSO接入指南][Yearning安装及SSO接入指南] |
| Jenkins | √ | √ | × | [JenkinsSSO接入指南][JenkinsSSO接入指南] |
| KubeSphere | √ | √ | × | [KubeSphere 3.4 整合 OIDC][KubeSphere 3.4 整合 OIDC] |
| Nacos | √ | √ | × | [Nacos安装及SSO接入指南][Nacos安装及SSO接入指南] |
| Grafana | √ | √ | × | [Grafana安装及SSO接入指南][Grafana安装及SSO接入指南] |
| Skywalking | √ | √ | × | Skywalking本身不带授权是由nginx做资源访问权限暂时没有解决方案 |
| Graylog | × | × | × | [Graylog OIDC][Graylog OIDC] (需要企业版,并且需要https) |
| Harbor | × | × | × | [Harbor OIDC][Harbor OIDC] |
| Kibana | × | × | × | 只有生产和UAT有内网暂时没有。需要做开发,可以参考:[Kibana OIDC][Kibana OIDC] |
| Nexus sonatype | × | × | × | 需要使用插件,成本太高,一般不会登录使用该平台,不建议集成:参考 [Nexus Sonatype][Nexus Sonatype] |
| metersphere | √ | √ | √ | [Metersphere安装及SSO接入指南][Metersphere安装及SSO接入指南] |
### 域名规划说明
#### 域名结构说明
![](https://picture.texous.cn/blog/20250213101552038.png)
#### 域名划分
> 二级域名用来区分服务级别
> 三级域名用来做服务划分
> 四级域名用来做环境划分
- 二级域名 `qifu.com`:部环境使用
- 二级域名 `keyfil.com`:外网访问使用
- 三级域名 `xxx.qifu.com`:服务划分
- 比如 `yapi.qifu.com` 表示接口文档服务
- 比如 `confluence.qifu.com` 表示知识库服务
- 四级域名 `xxx.xxx.qifu.com`:服务环境划分
- 划分为四个环境:开发 `dev`、测试 `test`、预发布 `uat`、生产 `prod`。生产环境默认缺省,使用三级域名
- 比如 `test.jenkins.qifu.com` 表示测试环境 jenkins
- 比如 `jenkins.qifu.com` 表示测试环境 jenkins
[元盟全域SSO方案]: http://confluence.qifu.com/pages/viewpage.action?pageId=38507359
@ -78,4 +101,10 @@
[Harbor OIDC]: https://harbor.k8s.ac.cn/docs/2.11.0/administration/configure-authentication/oidc-auth/
[Grafana OIDC]: https://grafana.org.cn/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/keycloak/
[Grafana OIDC]: https://grafana.org.cn/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/keycloak/
[Kibana OIDC]: https://blog.csdn.net/qq_33816243/article/details/135210359
[Nexus Sonatype]: https://github.com/tumbl3w33d/nexus-oauth2-proxy-plugin
[Metersphere安装及SSO接入指南]: http://confluence.qifu.com/pages/viewpage.action?pageId=38510175

View File

@ -47,9 +47,26 @@
#### 三级域名列表
| 域名 | 服务 | 访问链接 | 说明 |
|-------------------|-----------|--------------------------|-------|
| keycloak.qifu.com | IAM认证授权中心 | http://keycloak.qifu.com | 域账户中心 |
| 平台 | 旧域名 | 规划域名 | 规划部署 | 访问链接 | 详情 |
|----------------|----------------------|---------------------|------|----------------------------|----|
| IAMKeycloak | keycloak.qifu.com | keycloak.qifu.com | √ | http://keycloak.qifu.com | |
| 门户网站 | linkwarden.qifu.com | menhu.qifu.com | × | http://menhu.qifu.com | |
| YApi | yapi.qifu.com | apidoc.qifu.com | × | http://apidoc.qifu.com | |
| 产研协同平台 | pmsystem.qifu.com | pmsystem.qifu.com | √ | http://pmsystem.qifu.com | |
| GitLab | git.keyfil.com | code.qifu.com | × | http://code.qifu.com | |
| Confluence | confluenct.qifu.com | doc.qifu.com | × | http://doc.qifu.com | |
| Yarning | yearning.qifu.com | sql.qifu.com | × | http://sql.qifu.com | |
| Jenkins | jenkins.qifu.com | cicd.qifu.com | × | http://cicd.qifu.com | |
| KubeSphere | kubesphere.qifu.com | service.qifu.com | × | http://service.qifu.com | |
| Nacos | nacos.qifu.com | config.qifu.com | × | http://config.qifu.com | |
| Kibana | kibana.qifu.com | kibana.qifu.com | × | | |
| Grafana | grafana.qifu.com | monitor.qifu.com | × | http://monitor.qifu.com | |
| Skywalking | skywalking.qifu.com | tracking.qifu.com | × | http://tracking.qifu.com | |
| Graylog | graylog.qifu.com | log.qifu.com | × | http://log.qifu.com | |
| Harbor | harbor.qifu.com | mirror.qifu.com | × | http://mrirror.qifu.com | |
| Nexus sonatype | nexus.qifu.com | repository.qifu.com | × | http://repository.qifu.com | |
| 元盟学习平台 | xuexi.qifu.com | xuexi.qifu.com | × | http://xuexi.qifu.com | |
| MeterSphere | metersphere.qifu.com | apitest.qifu.com | × | http://apitest.qifu.com | |
### 四级域名

View File

@ -26,4 +26,31 @@ TOKENNG4Vcr
aesKey7RzIdfVg3rQggEjrk54Ccg7WDbNFXuHtQmdfO487MtA
agentid1000004
secreto1AyujE88S9QE-Tk699f2FkK3QjlUM5P39v9NpQ3wxc
secreto1AyujE88S9QE-Tk699f2FkK3QjlUM5P39v9NpQ3wxc
#### xblms
##### 构建顺序
```shell
npm install
npm run build-linux-x64
dotnet --info
dotnet build ./build-linux-x64/build.sln -c Release
dotnet publish ./build-linux-x64/src/XBLMS.Web/XBLMS.Web.csproj -r linux-x64 -c Release -o ./publish/xblms-linux-x64
npm run copy-linux-x64
```
```shell
curl -d "grant_type=authorization_code&client_id=lms&client_secret=VqxZ5UCzhaIHqwPI9H035xcPB7Jz8Ppj&code=abe76a02-0527-4b9b-817a-d383505bd3e8.f6908d64-8837-4f7f-86f9-489f32e9acc0.d13d8968-557a-47c7-b491-d90a52eba07e" -H "Content-Type: application/x-www-form-urlencoded" \
-X POST http://keycloak.qifu.com/realms/keyfil/protocol/openid-connect/token
```
### DHL
- https://www.pluginhive.com/knowledge-base/how-to-get-dhl-account-number/?srsltid=AfmBOorGCz67d0HipLAh2ONAzypqdHHzdrgTZml6M2-BbcnsT8MQ6SbS
- https://developer.dhl.com/user/register

View File

@ -16,3 +16,27 @@ Content-Type: application/json
"password": "liu@Texous.com"
}
### 添加 authsource
POST http://local.metersphere.com//auth-source/add
Content-Type: application/json
{
"id": "metersphere",
"enable": true,
"createTime": 0,
"updateTime": 100,
"description": "test",
"name": "企业微信",
"type": "OIDC",
"configuration": ""
}
### Metersphere callback
GET http://local.metersphere.com//sso/callback/oauth2?code=123&state=metersphere
Content-Type: application/json
{
"userid": "sub",
"username": "preferred_username",
"email": "email"
}

View File

@ -1,5 +0,0 @@
{
"app": "texous",
"original": "{\"allFieldsMap\":{\"ApprovalInfo\":{\"SpStatus\":\"1\",\"ApplyTime\":\"1739159435\",\"ProcessList\":{\"NodeList\":[{\"SubNodeList\":{\"Sptime\":\"0\",\"Speech\":\"\",\"SpYj\":\"1\",\"UserInfo\":{\"UserId\":[\"71c151e60b7223eb023e7f3f0af0d9b4\"]}},\"SpStatus\":\"1\",\"NodeType\":\"1\",\"ApvRel\":\"2\"},{\"SubNodeList\":{\"UserInfo\":[{\"UserId\":[\"71c151e60b7223eb023e7f3f0af0d9b4\"]}]},\"NodeType\":\"2\"}]},\"StatuChangeEvent\":\"5\",\"SpRecord\":{\"SpStatus\":\"1\",\"ApproverAttr\":\"1\",\"Details\":{\"SpStatus\":\"1\",\"Speech\":\"\",\"Approver\":{\"UserId\":[\"71c151e60b7223eb023e7f3f0af0d9b4\"]},\"SpTime\":\"0\"}},\"SpNo\":\"202502100001\",\"SpName\":\"请假\",\"Applyer\":{\"Party\":\"1\",\"UserId\":\"LiuXiaoHua\"},\"TemplateId\":\"1970325119051252_1688850749363053_205273535_1532590403\",\"Notifyer\":{\"UserId\":[\"71c151e60b7223eb023e7f3f0af0d9b4\"]}},\"CreateTime\":\"1739175966\",\"Event\":\"sys_approval_change\",\"ToUserName\":\"ww14a4f7445c81de7b\",\"FromUserName\":\"sys\",\"MsgType\":\"event\",\"AgentID\":\"1000003\"},\"agentId\":\"1000003\",\"toUserName\":\"ww14a4f7445c81de7b\",\"fromUserName\":\"sys\",\"createTime\":1739175966,\"msgType\":\"event\",\"event\":\"sys_approval_change\",\"extAttrs\":{\"items\":[]},\"scanCodeInfo\":{},\"sendPicsInfo\":{\"picList\":[]},\"sendLocationInfo\":{},\"approvalInfo\":{\"spNo\":\"202502100001\",\"spName\":\"请假\",\"spStatus\":1,\"templateId\":\"1970325119051252_1688850749363053_205273535_1532590403\",\"applyTime\":1739159435,\"applier\":{\"userId\":\"LiuXiaoHua\",\"party\":\"1\"},\"spRecords\":[{\"spStatus\":\"1\",\"approverAttr\":\"1\",\"details\":[{\"approver\":{\"userId\":\"71c151e60b7223eb023e7f3f0af0d9b4\"},\"speech\":\"\",\"spStatus\":\"1\",\"spTime\":0}]}],\"notifier\":[{\"userId\":\"71c151e60b7223eb023e7f3f0af0d9b4\"}],\"statusChangeEvent\":5}}",
"sysApprovalChangeDetail": "{\"errCode\":0,\"errMsg\":\"ok\",\"info\":{\"spNo\":\"202502100001\",\"spName\":\"请假\",\"spStatus\":\"AUDITING\",\"templateId\":\"1970325119051252_1688850749363053_205273535_1532590403\",\"applyTime\":1739159435,\"applier\":{\"userId\":\"LiuXiaoHua\",\"partyId\":\"1\"},\"spRecords\":[{\"status\":\"AUDITING\",\"approverAttr\":\"ONE_SIGN\",\"details\":[{\"approver\":{\"userId\":\"71c151e60b7223eb023e7f3f0af0d9b4\"},\"speech\":\"\",\"spStatus\":\"AUDITING\",\"spTime\":0,\"mediaIds\":[]}]}],\"notifiers\":[{\"userId\":\"71c151e60b7223eb023e7f3f0af0d9b4\"}],\"applyData\":{\"contents\":[{\"control\":\"Vacation\",\"id\":\"vacation-1563793073898\",\"titles\":[{\"text\":\"请假类型\",\"lang\":\"zh_CN\"}],\"value\":{\"members\":[],\"departments\":[],\"files\":[],\"children\":[],\"relatedApproval\":[],\"vacation\":{\"selector\":{\"type\":\"single\",\"options\":[{\"key\":\"2\",\"values\":[{\"text\":\"事假\",\"lang\":\"zh_CN\"}]}]},\"attendance\":{\"dateRange\":{\"type\":\"halfday\",\"begin\":1739203200,\"end\":1739246400,\"duration\":86400},\"type\":1,\"sliceInfo\":{\"dayItems\":[{\"daytime\":1739203200,\"duration\":86400}],\"duration\":86400,\"state\":1}}}}},{\"control\":\"Textarea\",\"id\":\"item-1497581399901\",\"titles\":[{\"text\":\"请假事由\",\"lang\":\"zh_CN\"}],\"value\":{\"text\":\"测试请假\",\"members\":[],\"departments\":[],\"files\":[],\"children\":[],\"relatedApproval\":[]}},{\"control\":\"File\",\"id\":\"item-1497581426169\",\"titles\":[{\"text\":\"说明附件\",\"lang\":\"zh_CN\"}],\"value\":{\"members\":[],\"departments\":[],\"files\":[],\"children\":[],\"relatedApproval\":[]}}]},\"comments\":[]}}"
}

0
杂项/test1.json Normal file
View File

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
[
{
"courierCode": "dhl",
"courierNameCN": "DHL"
},
{
"courierCode": "fedex",
"courierNameCN": "Fedex"
},
{
"courierCode": "jet",
"courierNameCN": "极兔国际"
},
{
"courierCode": "chinapost",
"courierNameCN": "邮政国际 "
},
{
"courierCode": "baishiguoji",
"courierNameCN": "百世国际"
},
{
"courierCode": "disifang",
"courierNameCN": "递四方 "
},
{
"courierCode": "naqel",
"courierNameCN": "NAQEL"
},
{
"courierCode": "imile",
"courierNameCN": "iMile"
},
{
"courierCode": "ltexp",
"courierNameCN": "乐天国际"
},
{
"courierCode": "aramex",
"courierNameCN": "安迈世"
},
{
"courierCode": "yw56",
"courierNameCN": "燕文物流"
},
]

BIN
材料/承运商映射.xlsx Normal file

Binary file not shown.