Docker,Jenkins和Rails - 在典型的Rails堆栈上运行规范的设置

oma*_*oma 14 ruby-on-rails jenkins docker

我想一个詹金斯主站和从设置为在标准Rails应用运行规范(PostgreSQL中,sidekiq/redis的,RSPEC,水豚-webkit的,常见的Rails堆栈),采用搬运工所以它可以在其他机器上被置于为好.我有一些好的固定机器收集灰尘.

  1. 任何人都可以共享可执行的docker jenkins rails stack示例吗?

  2. 什么阻止这样做?

也适用于主从设置.

前言:经过几天在线,经过几个教程没有成功,我即将放弃项目.我对docker,docker-machine,docker compose和volume有了基本的了解,我得到了几个简单应用程序的docker注册表.

小智 1

这个问题有很多东西需要解开,这是如何开始以及在哪里寻求帮助的指南。

简而言之,尽管它相当复杂并且需要定制设置,但没有什么可以阻止它。因此没有现成的解决方案。

假设您的目标是让 Jenkins 构建、部署到 Docker,然后在 Docker 化环境中测试 Rails 应用程序。

  1. 配置固定机器,我建议使用Ansible Galaxy角色。
  2. 设置 Docker 环境,启动多个容器的方法是使用 docker compose,这将允许您使用公共 docker hub 映像启动 DB、redis、Rails 等。
  3. 创建Jenkins 管道
    • 构建 Rails 应用程序 docker 映像,该映像将包含 Rails 应用程序。
    • 部署应用程序,这会从本地 Docker 注册表更新 Docker 群中的应用程序。
    • 测试,针对正在运行的应用程序运行测试。

我省略了 Jenkins 主/从配置,因为如果您只在一台机器上运行,则可以增加执行器的数量。例如,主机可以以牺牲速度为代价执行更多作业。