ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

5分钟跑通Bountysource:Ruby on Rails本地开发环境搭建与Docker快速入门

5分钟跑通Bountysource:Ruby on Rails本地开发环境搭建与Docker快速入门 5分钟跑通BountysourceRuby on Rails本地开发环境搭建与Docker快速入门【免费下载链接】coreBountysource is the funding platform for open-source software.项目地址: https://gitcode.com/gh_mirrors/core112/coreBountysource 是一个为开源软件提供资金支持的悬赏平台funding platform for open-source software。这篇文章将带你快速搭建 Bountysource 的 Ruby on Rails 本地开发环境并演示如何用 Docker 一键启动完整服务适合 Rails 新手和开源贡献者阅读。Bountysource 是什么Bountysource 的运作模式非常直观项目维护者给 GitHub Issue 挂上悬赏金额如$300开发者解决该 Issue 并提交补丁审核通过后即可获得赏金。上面这张图展示的就是它在 GitHub Issue 页面中的悬赏标签效果。整个后端核心仓库由 Ruby on Rails 5.1 构建主要技术栈包括组件技术框架Ruby 2.7.1 Rails 5.1.5数据库PostgreSQL搜索引擎Sphinx Elasticsearch应用服务器Puma异步任务Delayed Job开始前的准备工作无论选择哪种搭建方式请先确认本地已安装以下工具Git—— 用于克隆代码仓库Docker 与 Docker Compose—— 推荐从上游官方渠道安装发行版自带的版本通常过旧Ruby 2.7.1—— 建议使用 rbenv 管理多版本 Ruby仅本地方式需要Node.js 与 Yarn—— Rails 前端编译依赖 提示如果你只想最快跑通服务可以直接跳到下一节的 Docker 方案无需安装 Ruby 环境。Docker 一键快速启动最快路径这是最省心的方式数据库、搜索、应用、异步任务全部容器化只需几行命令。第一步克隆仓库git clone https://gitcode.com/gh_mirrors/core112/core cd core第二步构建镜像docker-compose.yml 定义了 5 个服务bountysource主应用、pgsql数据库、sphinx搜索、elasticsearch索引、delayedjob任务队列。构建命令docker-compose -f docker-compose.yml build第三步启动服务docker-compose -f docker-compose.yml up -d启动后用docker ps确认容器状态应看到以下服务正常运行bountysource rails s 0.0.0.0:3000-3000/tcp pgsql docker-entrypoint 5432/tcp sphinx searchd.sh 9306/tcp, 9312/tcp第四步打开浏览器验证访问http://localhost:3000看到 Bountysource 首页即表示搭建成功 数据库连接信息来自 docker-compose.yml用户名bountysource密码password端口5432本地 Rails 手动搭建适合改代码如果你需要修改 Rails 代码并实时调试推荐本地运行应用 Docker 运行依赖服务的混合模式。安装 Ruby 环境Ubuntu 示例sudo apt install curl sudo apt-get install git-core build-essential libssl-dev \ libyaml-dev libpq-dev libxml2-dev nodejs yarn遇到pg gem安装失败时补装libpq-dev即可解决。安装依赖与初始化数据库gem install bundler bundle install # 基本迁移 填充种子数据 rake db:setup rake db:seed数据库配置由 config/database.yml 动态读取DATABASE_URL环境变量因此本地运行前需在.env中设置例如DATABASE_URLpostgres://bountysource:passwordlocalhost:5432/bountysource_development启动服务器rails server应用运行在localhost:3000。项目约定了几个本地主机名方便区分三大子站地址对应站点http://localhost:3000/Bountysource 主站http://127.0.0.1:3000/Salt 团队站http://0.0.0.0:3000/API 接口站也可以运行单元测试来验证环境完整性RAILS_ENVtest rake db:create ./bin/rake关键配置速览文件作用Dockerfile基于ruby:2.7.1构建应用镜像安装 nodejs、postgres 客户端暴露 3000 端口docker-compose.yml编排数据库、搜索、应用与任务队列容器Procfile定义 web、worker、firehose 等进程用于 Heroku 部署config/puma.rbPuma 端口与 worker 线程数配置tasks.yml数据库初始化、Sphinx 索引与测试任务db/seeds.rb种子数据脚本常见问题排查1. 容器起不来先执行docker-compose -f docker-compose.yml build确认镜像构建成功再查看up -d后的日志。2. 数据库连接报错确认 PostgreSQL 容器已启动5432端口并核对.env中的DATABASE_URL用户名密码与 docker-compose.yml 保持一致。3. 想查看数据库内容可用 Adminerlocalhost:8086或 PgAdmin 连接输入上面表格中的账号信息即可。4. 想看数据库结构图项目使用 railroady 生成可视化 ER 图rake diagram:all生成的 SVG 文件位于doc文件夹。小结现在你已经掌握了两种搭建 Bountysource 开发环境的方法Docker 方案3 条命令快速跑通适合体验与自托管本地 Rails 方案适合深入阅读和修改 app/ 下的控制器、模型等核心代码建议新手先走 Docker 路径打通整体流程再切换到本地模式动手改造。作为全球最大的开源悬赏平台之一Bountysource 的核心代码完全开源正是学习 Ruby on Rails 实战架构的绝佳素材。【免费下载链接】coreBountysource is the funding platform for open-source software.项目地址: https://gitcode.com/gh_mirrors/core112/core创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表