轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
nypl/circ-scripts
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

circ-scripts Docker 镜像下载 - 轩辕镜像

circ-scripts 镜像详细信息和使用指南

circ-scripts 镜像标签列表和版本信息

circ-scripts 镜像拉取命令和加速下载

circ-scripts 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

circ-scripts
nypl/circ-scripts

circ-scripts 镜像详细信息

circ-scripts 镜像标签列表

circ-scripts 镜像使用说明

circ-scripts 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Library Simplified Circulation Manager脚本镜像,通过cron运行任务。
1 收藏0 次下载activenypl镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

circ-scripts 镜像详细说明

circ-scripts 使用指南

circ-scripts 配置说明

circ-scripts 官方文档

Library Simplified 流通管理器

SimplyE应用将于2025年8月停用,此处共享的资源也将被移除。

!构建状态 !GitHub发布

目录

  • 概述
  • Git分支工作流
  • 开发
    • 安装
    • 操作
    • 测试
    • 代码变更
    • 在流通管理器管理界面添加馆藏
  • 生成文档
  • 持续集成
  • 使用NewRelic运行
  • 贡献
  • 许可
  • 附录

概述

这是Library Simplified的流通管理器。流通管理器是图书馆馆藏与Library Simplified各种客户端应用(包括SimplyE)之间的主要连接纽带。它处理用户认证,将授权作品与开放获取内容相结合,从发行商API和次要来源获取更新的图书信息,并以适当组织的OPDS订阅源形式提供可用图书。

Git分支工作流

默认分支为develop,这是用于分支开发 bug 修复或新功能的工作分支。功能分支的拉取请求合并到develop后,可将更改合并到main以创建发布版本。

名称遵循<organization>-deploy-<env>模式的分支受保护,用作指定组织CI/CD流程的一部分。这些分支包括:

  • nypl-deploy-qa
  • nypl-deploy-production
  • openebooks-deploy-qa
  • openebooks-deploy-production
  • bpl-deploy-qa
  • bpl-deploy-production

开发

运行流通管理器实例的首选方法是通过Docker容器。如果因某种原因无法运行容器化版本,直接安装的初始说明可在docs/NonDockerInstallation.md中找到。

安装

推荐的本地开发环境获取方式是通过Docker。如果需要执行直接安装,请参阅非Docker安装文档。

注意: 流通管理器容器应可在amd64和arm64架构的机器上构建和运行。然而,由于当前依赖的ElasticSearch容器化版本存在差异,在arm64机器(包括使用Apple M1芯片系列的机器)上编排集群时,需使用不同的Docker Compose文件(docker-compose.arm64.yml)。如果使用以下make命令控制本地集群,则无需担心此差异,因为它会根据机器架构选择正确的compose文件。但如果在arm64机器上直接运行docker-compose命令,请确保通过docker-compose --file docker-compose.arm64.yml <COMMAND>使用正确的compose文件。

Docker

除安装Docker Desktop(上面链接)外,还需要Docker Hub账号。Docker通过下载基础机器镜像进行构建,其中大多数可从Docker Hub获取。但Docker引擎只能代表已认证用户定位和拉取镜像。

创建账号(或使用现有账号)后,需通过Docker Desktop安装登录。可从Docker Desktop仪表板窗口的右上角进行登录。

Make

提供了Makefile以帮助管理流通管理器的本地容器。如果系统当前没有make,可从系统包管理器(apt、brew等)获取。如果无法安装或不愿安装make,也可手动运行Makefile中的命令,将命令复制粘贴到shell中执行。

克隆仓库并构建镜像

以下shell命令将克隆此仓库并为流通管理器Web应用和PostgreSQL数据库构建Docker镜像:

git clone [***]
cd ./circulation
make build

为定时任务设置TZ

设置环境变量TZ为本地时区。默认时区为America/New_York。

操作

镜像成功构建后,可使用以下命令启动本地集群:

make up

首次启动集群时,数据库容器将运行初始化脚本localdev_postgres_init.sh,该脚本创建开发和测试数据库,安装PostgreSQL扩展,并创建带凭证的用户。由于PostgreSQL数据目录持久化在Docker卷中,后续启动不会重新初始化数据库。Web应用容器将等待数据库可用并接受连接后才启动Web服务器。如果想观察初始化过程,可使用make up-watch代替make up,使终端保持连接以查看运行中容器的输出。

如果之前运行过容器化的流通管理器版本,可能会有残留的Docker卷用于持久化PostgreSQL数据目录。若该目录中的数据库配置不正确,make up-watch的输出可能如下:

cm_local_db        | PostgreSQL Database directory appears to contain a database; Skipping initialization

[...]

cm_local_db        | 2021-11-19 22:20:06.563 UTC [74] FATAL:  password authentication failed for user "simplified"
cm_local_db        | 2021-11-19 22:20:06.563 UTC [74] DETAIL:  Role "simplified" does not exist.

[...]

cm_local_webapp    | --- Database unavailable, sleeping 5 seconds

此时,运行make clean删除现有卷,然后再次运行make up-watch,应能看到数据库初始化过程。

集群运行时(且Web服务器启动后),可通过http://localhost访问API端点,通过http://localhost/admin/访问管理Web应用。首次尝试登录管理应用时,将使用提供的凭证创建用户。

其他生命周期管理命令(完整列表可通过make help查看):

  • make stop / make start - 运行make up后,可暂停和恢复集群而不销毁容器
  • make down - 停止集群并删除容器和虚拟网络
  • make clean - 停止集群,删除容器、虚拟网络和数据库卷
  • make full-clean - 与make clean相同,但还会删除集群的Docker镜像

访问容器

集群运行时,可使用以下命令访问容器:

  • make db-session - 以超级用户身份在数据库容器上启动psql会话
  • make webapp-shell - 在Web应用容器上打开bash shell
  • make webapp-py-repl - 在Web应用容器上打开Python REPL会话(在项目虚拟环境中)
  • make scripts-shell - 在脚本容器上打开bash shell
  • make scripts-py-repl - 在脚本容器上打开Python REPL会话(在项目虚拟环境中)

测试

运行集群时,可使用以下命令启动测试套件:

make test

这将通过pytest运行整个测试套件。如果希望使用pytest的-x选项在首次错误或失败时退出,可使用:

make test-x

运行特定测试

可忽略Makefile,通过docker exec直接向Web应用容器发出pytest命令,如下所示:

docker exec -it cm_local_webapp pipenv run pytest tests

这允许使用pytest的所有标准选项,例如:

# 使用-x快速失败
docker exec -it --env TESTING=1 cm_local_webapp /usr/local/bin/runinvenv /simplified_venv pytest -x tests

# 运行特定测试类
docker exec -it --env TESTING=1 cm_local_webapp /usr/local/bin/runinvenv /simplified_venv pytest tests/test_controller.py::TestCirculationManager

# 运行特定测试方法
docker exec -it --env TESTING=1 cm_local_webapp /usr/local/bin/runinvenv /simplified_venv pytest tests/test_controller.py::TestCirculationManager::test_exception_during_external_search_initialization_is_stored

# 关闭警告输出
docker exec -it --env TESTING=1 cm_local_webapp /usr/local/bin/runinvenv /simplified_venv pytest --disable-warnings tests

pytest可执行文件的完整选项列表见[***]

代码变更

Web应用和脚本运行器的本地开发Docker容器(分别为cm_local_webapp和cm_local_scripts)的虚拟文件系统中没有代码库副本。相反,此仓库检出到的本地目录通过只读绑定挂载作为/home/simplified/circulation挂载到容器。该绑定挂载通过docker-compose设置,可在docker-compose.yml和docker-compose.arm64.yml的webapp和scripts部分查看。

由于这些主机挂载通过Docker Compose进行,如果直接通过docker run从构建的镜像创建容器,除非通过命令行选项指定绑定挂载,否则挂载不会存在,例如:

docker run -d --rm --mount type=bind,source="$(pwd)",target=/home/simplified/circulation \
  --entrypoint tail circulation_webapp:latest -f /dev/null

通过绑定挂载本地目录,可在主机上进行更改,并在容器行为中看到反映。

在流通管理器管理界面添加馆藏

如果正在开发流通管理器管理界面,需要向本地应用添加图书馆藏进行测试,可遵循这些说明。

生成文档

使用Sphinx生成的代码文档可在本仓库的Github Pages上找到。目前记录了本仓库的api目录、scripts文件和core子模块目录。文档配置位于/docs中。

Github Actions负责生成.rst源文件、生成HTML静态站点并将构建部署到gh-pages分支。

要_本地_查看文档,进入/docs目录并运行make html。这将生成.rst源文件并在/docs/build/html中构建静态站点。

使用Swagger(OpenAPI)的API文档可在/apidocs_admin和/apidocs_public端点找到。

持续集成

本项目通过Github Actions对新拉取请求和合并到默认develop分支时运行所有单元测试。相关文件位于.github/workflows/test.yml。贡献更新或修复时,要求所有python 3环境的测试Github Action通过。推送更改前本地运行tox命令,确保提交前发现所有失败测试。

如上所述,Github Actions还用于构建Sphinx文档并部署到Github Pages。相关文件位于.github/workflows/docks.yml。

使用NewRelic运行

此代码库包含使用NewRelic对API和后台脚本进行检测的配置,用于错误监控、指标等目的。默认情况下,本地开发禁用此功能,未进行特定配置部署时也不会运行。以下步骤假设已注册NewRelic账户并有权访问可用于检测应用的API密钥。

要在通过docker compose本地运行时进行检测,必须执行三个步骤:

  1. 本地开发机器上必须运行NewRelic基础设施代理。macOS可通过brew安装,其他系统参见NewRelic文档
  2. 根目录中必须提供.env文件,包含以下行:NEW_RELIC_LICENSE_KEY=[your_newrelic_key_here]
  3. 当前使用的docker compose文件中必须将NEW_RELIC_MONITOR_MODE环境变量设置为'true'

要检测部署的流通管理器实例,必须向运行CM的docker容器提供以下环境变量作为运行时变量(具体方式取决于生产环境):

  • NEW_RELIC_APP_NAME:标识应用的字符串
  • NEW_RELIC_MONITOR_MODE:字符串格式的布尔值
  • NEW_RELIC_CONFIG_FILE:配置文件的绝对路径,未修改时应为/home/simplified/circulation/newrelic.ini
  • NEW_RELIC_ENVIRONMENT:指定开发/测试/生产环境
  • NEW_RELIC_LICENSE_KEY:NewRelic账户的API密钥

贡献

更多信息见此处。

许可

本项目是开源软件,采用Apache-2.0许可授权。

附录

查看NYPL Simplified Wiki获取有关流通管理器各种主题的更深入信息。

查看更多 circ-scripts 相关镜像 →
circleci/circleci-cli logo
circleci/circleci-cli
by CircleCI
认证
CircleCI CLI是CircleCI的命令行工具,用于本地运行、测试和管理CircleCI工作流,支持配置验证、作业执行、上下文管理等功能,可通过Docker镜像便捷使用,无需本地安装依赖。
91M+ pulls
上次更新:30 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.