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

本文档详细说明HalalBooking项目的开发环境配置,包括依赖安装、项目初始化、代码构建、测试执行及服务器运行等关键流程,适用于开发人员搭建本地开发环境。
psql无法连接服务器,参考解决方案。.ruby-version文件(文件中版本为简写,如3.1),需创建版本别名:
ln -s ~/.rbenv/versions/3.1.2 ~/.rbenv/versions/3.1rvm alias create ruby-3.1.0 3.1.2若在集群模式下运行Puma服务器,Web工作进程可能因"Ethon"库问题崩溃,需禁用fork安全:
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
建议在.pumaenv(Puma-dev)、~/.profile或等效文件中设置此环境变量,确保启动Puma前已导出。
make setup
需获取生产环境数据库的"development"版本,执行:
make fetchdb
该命令会自动获取数据库 dump 并恢复为halalbooking数据库。
通过以下make命令可从生产数据库获取样本数据(需SSH访问服务器,当前在oscar服务器执行):
make refreshdb:在服务器上创建新的dump文件(通过脚本),保存为last.dump,后续会被下载为本地hb.dump。make fetchdb:依次执行fetch-dump和restore-dump命令。make fetch-dump:从服务器下载last.dump至本地,保存为项目根目录的hb.dump。make restore-dump:从本地hb.dump恢复数据至本地数据库,应用本地变更后删除hb.dump。make refresh-and-fetchdb:依次执行refreshdb和fetchdb。lein fig
性能优化:若需使用合并文件(因性能原因),执行:
lein cljsbuild auto front-whitespace # 或 "extranet-whitespace",或两者都指定
该命令仍会监控文件变更。若只需构建一次:
lein cljsbuild once front-whitespace # 或 "extranet-whitespace",或两者都指定
清理输出目录:
lein clean
lein fig。/dev/cards。clj -M:dev
(start)。默认使用PGUSER和PGDATABASE环境变量定义连接。若未设置,将使用当前shell用户作为数据库用户(与psql行为一致),数据库名为"halalbooking"。
如需覆盖默认数据库名,可:
.bash_profile中通过export PGDATABASE=hb导出。PGDATABASE=hb clj -M:dev。默认情况下,Rails在开发环境中会 stub 所有Clojure支持的请求。需确保环境变量HANDLE_CLOJURE_REQUESTS=proxy已设置。
参考clj-kondo编辑器集成文档配置实时 linting。
bin/rake spec:all
bin/rspec front/spec
基于CLJS的测试:
yarn。若只需运行一次:make cljs-test-auto
make cljs-test-once
基于Capybara的测试:
brew install chromedriver # 首次安装 # 或升级:brew upgrade chromedriver
lein fig。部分测试需手动启动Clojure后端,注意使用测试环境和数据库(halalbooking_test),并使用自定义端口(8091,避免与开发服务器冲突):
env HTTP_KIT__PORT=8091 PGDATABASE=halalbooking_test clojure -M:test -m hb.core
运行测试示例:
env HTTP_KIT__PORT=8091 HANDLE_CLOJURE_REQUESTS=proxy rspec front/spec/features/search_filters_spec.rb
bin/rake db:test:prepare
make clj-test-automake clj-test-once准备工作: 安装Selenium:
npm install -g selenium-standalone selenium-standalone install
运行测试:
.hermione.conf.js文件,配置测试环境为staging。lein fig。selenium-standalone start
yarn run screenshots
执行以下命令启动性能分析环境(本质为生产环境,代码变更后需重启):
RAILS_ENV=profiling bin/rails s
参考.circleci/README文件。
yarn run svg-sprite.svg前添加_(如circle_.svg)。CSS_LIVE_RELOAD=true,或启动服务器时指定:
CSS_LIVE_RELOAD=true rails s
yarn run watch-css。执行yarn run watch-css。
参考.browserlistrc文件。
rails s启动Rails内置的Puma Web服务器:
rails s
puma-dev(替代rails s)Puma-dev是快速零配置的开发服务器,适用于OS X和Linux。
设置方法:
~/.puma-dev目录创建符号链接:
cd ~/.puma-dev && ln -s /path/to/halalbooking hb
~/.bash_profile中设置APP_HOST:
export APP_HOST=hb.test
rails c:启动Rails控制台,用于与应用交互(代码变更后需重启)。默认所有任务存储在queue_classic_jobs表(使用QC适配器),但不会自动执行。需并行启动QC worker处理任务(如发送邮件):
make jobs
如需清除所有排队任务:
bin/rake qc:truncate
作业入队操作被 stub,可通过断言验证。
不运行周期性任务。
任务存储在queue_classic_jobs表,由多个QC worker处理(参考示例)。周期性任务通过cron调度。
rails c:启动Rails控制台,用于命令行交互(代码变更后需重启)。
免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429