web应用开发演练_EHR系统

本文围绕基于华为软件开发云的EHR系统Web应用开发展开,涵盖项目规划、开发和交付阶段。规划阶段拆分可验收story;开发阶段设计用例、新建仓库、授权开发人员等;交付阶段进行编译构建、部署、测试,最后合并分支、处理bug并重新发布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

web应用开发演练_EHR系统

项目规划阶段

基于华为软件开发云的web应用开发演练:EHR系统,项目规划阶段。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为开发者拆分成可验收的story
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目开发阶段

基于华为软件开发云的web应用开发演练:EHR系统,项目开发阶段。
在这里插入图片描述
在这里插入图片描述
对每个story设计用例
在这里插入图片描述
项目经理需要完成三件事
1在云端新建仓库并提交ERP平台架构代码到云端仓库master分支
在这里插入图片描述
2新建develop分支,主开发分支,包含所有要发布到下一个版本的新需求,开发人员要在此分支上拉取自己的feature分支进行本地开发,
在这里插入图片描述
3对开发人员进行仓库授权
在这里插入图片描述
添加开发人员到此

开发人员进行新特性开发
在这里插入图片描述
开发人员A负责工作中心下的内容的开发,他将云端仓库克隆到本地,在develop分支上拉取临时分支,在feature分支上完成了查看已删事项、查看待办事项、查看已办事项3个story,本地测试通过后,合并到develop分支,并推送到云端仓库

开发人员B负责导航菜单下的所有的特性

开发人员为对应的代码仓库创建代码检查任务
在这里插入图片描述
执行代码检查
在这里插入图片描述
在这里插入图片描述
开发人员得知代码的问题所在
在这里插入图片描述
修改后重新进行代码提交和代码检查

项目交付阶段

基于华为软件开发云的web应用开发演练:EHR系统,项目交付阶段。
首先进行编译构建工作
在这里插入图片描述
针对develop分支,新建一个maven构建任务,并自动归档该任务生成的软件包

在这里插入图片描述
在这里插入图片描述
定时构建
在这里插入图片描述
依赖第三方的开源组件或者项目内自己开发的公共组件
在构建前,对pom文件进行配置

将当前项目所需要依赖的本地软件包上传到软件开发云的maven私有仓库中
在这里插入图片描述
方便我们云端构建时调用私有仓库的构建包
在这里插入图片描述
在这里插入图片描述
在pom文件中定义好内外部组件的依赖关系和私有仓库地址即可
在这里插入图片描述
这样,构建时服务就会自动下载依赖包了

打开编译构建任务
在这里插入图片描述
在这里插入图片描述
到编译构建仓库中查看已经归档好的构建包

部署:
在这里插入图片描述
为develop分支建立部署任务,并且关联上了develop分支构建生成的软件包,选择好tomcat模板,添加授信云主机
在这里插入图片描述

流水线:代码检查、构建、部署串联执行
在这里插入图片描述

测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

测试完成后,项目经理将develop分支合并到master主线
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
为master分支建立一个基于maven的编译构建任务

在这里插入图片描述

在这里插入图片描述
展示所有的backlog,客户验收的时候,有不满意的,放到下个迭代的backlog中,发现我的简历特性bug,开发人员A在develop分支上拉取一个hotfix分支,解决后合并到develop分支和master分支,重新打标签发布
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<think>我们正在处理一个关于路径访问的问题。用户之前遇到了一个`FileNotFoundError`,指出在路径`/autodl-tmp/comprehensive_MTL_EHR-master/dataset/rotations/no_notes/0/train_dataset.pkl`下找不到文件。然而,通过`ls`命令,用户发现实际文件存在于`/root/autodl-tmp/comprehensive_MTL_EHR-master/dataset/rotations/no_notes/0/`目录下。两者的区别在于实际的路径多了一个`/root`前缀。用户现在的问题是:为什么在指定路径`/root/autodl-tmp/comprehensive_MTL_EHR/SampleArgs/cmo_mimic_ST`下无法找到目录,尽管在`SampleArgs`中列出了`cmo_mimic_ST`文件或文件夹?这里有两个不同的路径:1.第一个是数据集路径(已经确认文件在`/root/autodl-tmp/...`下,但程序尝试访问的是没有`/root`前缀的路径)。2.第二个是运行参数目录(即`SampleArgs/cmo_mimic_ST`),用户表示在`SampleArgs`中可以看到`cmo_mimic_ST`,但访问时却找不到。针对第二个问题,我们需要分析可能的原因:###可能的原因1.**路径拼写错误或大小写问题**:检查路径中是否含有空格或其他特殊字符。注意,用户给出的路径中`SampleArgs`含有空格,在命令行中通常需要用引号或转义空格(如`Sample\Args`)来正确访问。2.**相对路径与绝对路径混淆**:程序当前工作目录可能与预期不符,导致相对路径解析错误。3.**权限问题**:当前用户对目标目录或文件没有读取权限。4.**符号链接问题**:如果`SampleArgs`是一个符号链接,可能指向的位置不存在或权限不足。###诊断步骤1.**确认路径存在**:```bashls-l"/root/autodl-tmp/comprehensive_MTL_EHR/SampleArgs/cmo_mimic_ST"```如果提示文件不存在,则检查上一级目录:```bashls-l"/root/autodl-tmp/comprehensive_MTL_EHR/SampleArgs"```查看该目录下是否存在`cmo_mimic_ST`。2.**检查权限**:使用`ls-l`查看目录和文件的权限,确保当前用户(这里是root)有读取权限。3.**检查程序工作目录**:在运行程序前,使用`pwd`命令确认当前工作目录。如果程序使用的是相对路径,则需要确保工作目录正确。4.**检查程序中的路径处理**:在程序中,读取目录或文件时,如果路径中包含空格,必须确保路径被正确引用(如使用`os.path.join`或正确处理空格的字符串)。###解决方案1.**使用绝对路径**:在程序中使用绝对路径,避免相对路径带来的混淆。2.**处理空格**:在脚本中,对于包含空格的路径,应该使用`os.path.join`来构建路径,例如:```pythonimportosbase_dir="/root/autodl-tmp/comprehensive_MTL_EHR"sample_args_dir=os.path.join(base_dir,"SampleArgs")target_dir=os.path.join(sample_args_dir,"cmo_mimic_ST")```这样会正确处理空格和路径分隔符。3.**修改运行命令**:在命令行中访问包含空格的路径时,使用引号或反斜杠转义空格:```bashcd"/root/autodl-tmp/comprehensive_MTL_EHR/SampleArgs/cmo_mimic_ST"```或者```bashcd/root/autodl-tmp/comprehensive_MTL_EHR/Sample\Args/cmo_mimic_ST```4.**检查符号链接**:如果`cmo_mimic_ST`是一个符号链接,使用`ls-l`查看其指向的目标是否存在:```bashls-l"/root/autodl-tmp/comprehensive_MTL_EHR/SampleArgs/cmo_mimic_ST"```如果目标不存在,则需要修复链接。###验证在尝试上述步骤后,再次运行程序或访问目录,确认是否可以找到。另外,关于之前的数据集路径问题,我们给出的解决方案是创建符号链接或者修改程序中的基础路径。用户可能已经尝试了这些方法,但尚未解决当前关于`SampleArgs`的路径问题。我们需要注意两个路径问题可能源于同一个原因:基础路径前缀缺少`/root`。在程序内部,可能有一个基础路径变量(比如`BASE_PATH`)设置为`/autodl-tmp`,而实际上应该是`/root/autodl-tmp`。因此,修改这个基础路径变量可能同时解决两个路径问题。###总结建议1.修改程序中的基础路径变量,将`/autodl-tmp`改为`/root/autodl-tmp`,这样程序中的数据集路径和参数文件路径都会正确。2.如果无法修改程序代码,则创建符号链接:```bashsudoln-s/root/autodl-tmp/autodl-tmp```这样,程序访问`/autodl-tmp`时实际上访问的是`/root/autodl-tmp`。3.对于包含空格的目录名,确保在程序中正确构建路径(使用`os.path.join`)。###生成相关问题§§相关问题§§1.Linux中如何处理包含空格的文件路径?2.Python的`os.path.join`方法有什么优势?3.如何修改环境变量来配置程序的基础路径?4.在容器环境中如何持久化符号链接?5.如何检查并修复Linux中的损坏符号链接?</think> ## 路径访问问题分析:为何无法访问指定目录 您的核心问题是:为什么在路径 `/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST` 无法访问目录,尽管在 `Sample Args` 中能看到 `cmo_mimic_ST` 的存在? ### 可能原因及诊断方法 1. **路径名称的引号处理问题** - `Sample Args` 包含空格,需使用引号包裹路径: ```bash # 错误方式(会解析为两个独立参数) cd /root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST # 正确方式 cd "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST" # 或使用转义 cd /root/autodl-tmp/comprehensive_MTL_EHR/Sample\ Args/cmo_mimic_ST ``` - 测试命令: ```bash ls -ld "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST" ``` 2. **权限问题** - 使用 `ls -l` 检查权限: ```bash ls -l "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/" ``` - 重点关注权限位: ``` drwxr-xr-x # 第一位'd'表示目录,后续为权限位 ``` - 若显示 `?---------` 表示无访问权限 3. **符号链接问题** - `cmo_mimic_ST` 可能是已失效的符号链接: ```bash file "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST" ``` - 若输出 `symbolic link to [...]` 但目标路径不存在 4. **容器挂载问题** - 在容器环境中检查挂载点是否生效: ```bash mount | grep autodl-tmp ``` 5. **路径大小写敏感** - Linux 系统区分大小写: ```bash find "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/" -iname "cmo_mimic_st*" ``` ### 解决方案步骤 1. **验证目录存在性** ```bash # 确认目录存在性 [ -d "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST" ] && echo "存在" || echo "不存在" ``` 2. **修复权限问题** ```bash # 添加执行权限(如果需要) chmod +x "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST" ``` 3. **使用绝对路径访问** ```python # Python脚本中使用pathlib安全访问 from pathlib import Path target = Path("/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/cmo_mimic_ST") if target.exists(): print(f"可访问路径: {target.resolve()}") ``` 4. **容器环境路径映射检查** ```bash # 检查Docker容器启动命令 docker inspect <container_id> --format='{{.Mounts}}' | grep autodl ``` ### 故障排除流程图 ```mermaid graph TD A[访问失败] --> B{错误类型?} B --> |No such file| C[检查路径拼写/引号] B --> |Permission denied| D[检查权限] B --> |Not a directory| E[验证类型] C --> F[使用ls -l验证] D --> G[chmod修复] E --> H[file命令检测] ``` ### 最佳实践建议 1. **使用路径处理工具**:Python中优先使用`pathlib`而非字符串拼接路径[^1] 2. **日志诊断**:在脚本添加路径验证代码: ```python import pathlib def log_path_status(path): p = pathlib.Path(path) print(f'''路径状态: 存在:{p.exists()} 是目录:{p.is_dir()} 权限:{oct(p.stat().st_mode)[-3:]} 绝对路径:{p.resolve()}''') ``` 3. **容器挂载规范**:确保挂载映射完整: ```docker volumes: - "/host/path:/container/path:rw" ``` 若问题仍未解决,请提供以下信息: 1. 执行 `ls -l "/root/autodl-tmp/comprehensive_MTL_EHR/Sample Args/"` 的输出 2. 访问失败的具体错误消息 3. 系统类型(物理机/虚拟机/容器) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值