本镜像为Humanitarian ID Web App version 2(HIDv2)的Docker化构建,基于Alpine系统,用于简化HIDv2 Web应用的本地开发、测试和部署流程。该应用是人道主义领域的身份识别平台,提供用户管理、服务集成等功能。
--target参数指定不同API环境适用于HIDv2 Web应用的开发人员进行本地开发、功能测试、代码质量检查以及部署前验证。
前提条件
构建应用
git clone git@github.com:UN-OCHA/hid_app2.gitcd hid_app2git checkout devyarn installsudo vi /etc/hosts,添加 127.0.0.1 app.hid.vm--target指定API环境):
sh# 使用本地API示例 grunt --target=local
可编辑
app/config/config.local.js配置各环境端点
运行应用
docker-compose up部署说明参见:https://github.com/UN-OCHA/hid-stack/blob/master/README.md
本项目遵循https://github.com/johnpapa/angular-styleguide/tree/master/a1%E3%80%82%E5%8F%AF%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E6%A3%80%E6%9F%A5%E4%BB%A3%E7%A0%81%E8%A7%84%E8%8C%83%EF%BC%88%E8%A7%84%E5%88%99%E5%90%8D%E7%A7%B0%E5%8F%82%E8%80%83ESLint plugin README,格式为y123):
shyarn run lint
代码检查在每个PR通过Travis集成自动运行。.eslintrc中部分规则显式设为error,表示存在已知的eslint-disable-line例外情况。若能解决某规则的所有违规,可从.eslintrc中移除该规则。
单元测试使用https://jasmine.github.io/%E7%BC%96%E5%86%99%EF%BC%8C%E9%80%9A%E8%BF%87https://karma-runner.github.io/%E8%BF%90%E8%A1%8C%EF%BC%9A
sh# 安装Karma CLI yarn global add karma-cli # 运行一次测试 grunt test # 文件变更时重新运行测试 grunt test-watch
E2E测试基于Jasmine和Protractor(Angular端到端测试工具)实现。
主机环境安装
sh# 首次设置:安装E2E工具 yarn global add protractor webdriver-manager update
需手动安装Java Development Kit (JDK)
环境变量配置
e2e-tests/enviroment.example.js为environment.js运行测试
确保API和应用容器均已启动并正确配置本地开发环境:
sh# 按顺序运行所有E2E测试 yarn run protractor # 运行单个E2E测试套件(套件名称见conf.js) protractor --suite="my-suite-name" src/e2e-tests/conf.js
本地测试失败处理
TravisCI测试失败处理
Travis上的测试可能随机失败:
测试问题解决
测试失败时可能需要手动登录并重置测试所需资源:
以Test E2E User身份:
以Test Admin E2E User身份:
CSS
本项目使用Sass,运行grunt watch可监听文件变化并重建CSS。
样式结构
全局样式
重置样式、网格样式等全局样式应添加至app/common。app/common中(不包含子目录)的所有_*.scss文件会自动添加到CSS构建中。
变量和混合器
变量和混合器需在其他Sass文件前导入,因此应添加至app/common的子目录,并手动导入到app/common/_setup.scss。
组件样式
组件特定样式文件应添加至组件目录(如app/components/my-component/my-component.scss)。app/components中(包含子目录)的所有_*.scss文件会自动添加到CSS构建中。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务