Mac下搭配配置Rails开发环境方法

rails 开发,最让人头疼的就是环境问题。其本身的理念加上某伟大防御工程的帮助,使得每次环境的配置都的花费很长的时间来解决;同时,与人协作也有诸多不便。所以一直在尝试做一个可以随时复用的开发环境来。

1. 安装 Docker

关于 Mac 下 docker 有了最新的解决方案,就是 Docker for Mac ,直接下载安装就可以了(目前尚在 beta 版本,但是对于开发环境使用足矣)。

2. 编写 Dockerfile

为了实现目的,我做了两个 docker image ,一个 base image ,命名 rails ,主要实现 rails 运行环境的基础配置,为的是以后方便复用,另一个是项目相关的 image ,主要针对特定的项目做一些配置。

rails.Dockerfile(关键部分在注释中有说明)

FROM ubuntu:16.10 # 如果下载的很慢,这里可以改成 Daocloud 的镜像:daocloud.io/library/ubuntu:trusty-XXXXXXX
MAINTAINER Tairy <tairyguo@gmail.com> # 改成你自己的

# Run update
# 为了加快 update 的速度,修改 ubuntu 源为阿里云(目前尝试的最快的,也可以自行选择其他国内的镜像)
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
    && apt-get update --fix-missing \
    && apt-get -y upgrade

# Install dependencies
RUN apt-get install -y git-core \
    curl zlib1g-dev build-essential \
    libssl-dev libreadline-dev
RUN apt-get update --fix-missing  
RUN apt-get install -y libyaml-dev \
    libsqlite3-dev sqlite3 libxml2-dev \
    libxslt1-dev libcurl4-openssl-dev \
    python-software-properties libffi-dev

# Install rbenv
# 这里 clone 的时候可能会有点慢,可以先 clone 到本地,把下面的 clone 操作改成 ADD rbenv /root/.rbenv 操作即可。
RUN git clone git://github.com/sstephenson/rbenv.git /root/.rbenv \
    && echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> /root/.bashrc \
    && echo 'eval "$(rbenv init -)"' >> /root/.bashrc \
    && git clone git://github.com/sstephenson/ruby-build.git /root/.rbenv/plugins/ruby-build \
    && echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> /root/.bashrc

# 为了加速 rbenv 使用 ruby china 的加速插件
RUN git clone https://github.com/andorchen/rbenv-china-mirror.git /root/.rbenv/plugins/rbenv-china-mirror

# Install ruby
RUN /root/.rbenv/bin/rbenv install -v 2.3.1 \
    && /root/.rbenv/bin/rbenv global 2.3.1 \
    && echo "gem: --no-document" > /root/.gemrc \
    && /root/.rbenv/shims/gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/ \
    && /root/.rbenv/shims/gem install bundler \
    && /root/.rbenv/shims/gem install rails \
    && /root/.rbenv/bin/rbenv rehash
RUN apt-get install -y software-properties-common python-software-properties
# Install nodejs
RUN apt-get -y install nodejs

RUN /root/.rbenv/shims/bundle config --global frozen 1
RUN /root/.rbenv/shims/bundle config --global silence_root_warning 1

# Run project
RUN mkdir -p /working
WORKDIR /working
ONBUILD COPY Gemfile /working
ONBUILD COPY Gemfile.lock /working
ONBUILD RUN /root/.rbenv/shims/bundle install --no-deployment
ONBUILD COPY . /working

# Some tools
RUN apt-get install -y vim inetutils-ping
build

cd /path/to/Dockerfile
docker build rails .
以上,这个image 将会安装 rails 应用运行的基础环境,并且设置了 onbuild 执行的命令,之后自己的 rails 便可依赖该项目创建,例如:

demo.Dockerfile

FROM rails:latest # 这里添加依赖
MAINTAINER Tairy <tairyguo@gmail.com>

# TODO: custom env
EXPOSE 3000
将此 Dockerfile 置于 rails 的项目目录下,即可进行 build:

cd /path/to/rails/app/path
docker build demo .
3. 使用 docker-compose

使用 docker-compose 可以更好的管理容器,可在项目目录下编写 docker-compose.yml 文件(使用时删除#开头的注释内容):

# compose 版本号,选择 2 即可
version: '2'
services:
  # 数据库容器
  db:
    image: mongodb
    # 数据库端口映射
    ports:
      - "4568:27017"
  web:
       # build 路径
    build: .
    # 相当于 Dockerfile 中的 CMD
    command: /root/.rbenv/shims/bundle exec rails s -p 3000 -b 0.0.0.0
    ports:
      - "3000:3000"
    # 共享目录
    volumes:
      - .:/working
    # 依赖容器
    depends_on:
      - db
进而,执行 docker-compose up 命令即可实现容器的构建,等 server 启动完成后,就可以通过 localhost:3000 来访问了。

也可以加参数 docker-compose up -d 让其在后台运行。

4. RubyMine & Docker

可以在 RubyMine 中安装 Docker Plugin 来直接构建容器。

1. 安装 docker plugin

在 Preferences/Plugins 中搜索安装。


2. 配置 docker plugin

打开 Build, Execution, Deployment/Docker


Name: ServerName

API URL: [Docker API Url]()

Certificates folder: [HTTPS]()

Docker Compose executable: 使用 which docker-compose 查看。

3. 配置构建方式

在工具栏中打开 Run/Debug Configurations 窗口:

 


Server: 选择第二步配置的 server

Deployment: 选择 docker-compose.yml

至此,便可在 IDE 中直接构建项目容器。

时间: 2024-10-22 23:27:31

Mac下搭配配置Rails开发环境方法的相关文章

Windows下Ruby on Rails开发环境安装配置图文教程_ruby专题

本文详细介绍如何在Windows配置Ruby on Rails 开发环境,希望对ROR初学者能有帮助. 一.下载并安装Ruby Windows下安装Ruby最好选择 RubyInstaller(一键安装包). 下载地址: http://rubyforge.org/frs/?group_id=167 . 我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包.这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档. 双击安装,安装过程出现如下

Fedora Linux 下安装配置C开发环境Code::Blocks

一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便.Fedora在安装的时候可以选择安装Fedora Eclipse,这个IDE很强大,C,C++,Java,Python等等都支持,而且编译,调试和测试等功能也很完善.不过一般太强大的东西都有一个 毛病就是速度会比较慢,在dave的机器上,打开Eclipse需要20秒之多,选项也太多,用起来眼花缭乱

MAC下Android的Eclipse开发环境的搭建

一.Eclipse的下载       到网站:http://www.eclipse.org/downloads/ 上,由于我们是用Java开发的所以步骤如下: 1.  找到"Eclipse IDE for java Developers"此处右上角会根据你当前使用的系统自动选择,Mac下就会自动选择位"Mac OS X(Cocoa)" 2.  然后点击右边的"Mac OS X 64bit"(这里我的Pro是i5处理器可以用64位的),根据你的机器

windows下安装配置python开发环境及Ulipad开发工具

最近开始学习Python,在网上寻找一下比较好的IDE.因为以产用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的IDE也有不少,网上也有很多介绍. 我自己选择了国产 Python IDE:UliPad.这个IDE本身就是用 Python+wxPython编写的,小巧,功能全,特别适合Python初学者. 这是 Ulipad 下载地址:http://code.google.com/p/ulipad/download

怎样在Ubuntu系统下配置Ruby On Rails开发环境

在Linux下使用Ruby On Rails能够对web应用程序的维护和开发变得更加便利,让开发人员能更加专注于系统的逻辑结构,在使用前需先配置Ruby On Rails的开发环境,下面小编就给大家介绍下Ubuntu 12.04如何配置Ruby On Rails开发环境. Ubuntu 12.04 + Ruby 2.0 + Rails 3.2.13 1.安装系统需要的包 $ sudo apt-get install -y build-essential openssl curl libcurl3

Linux下安装IPython配置python开发环境教程_Linux

一.IPython简介 IPython 是一个交互式的shell,比默认终端好用,支持自动缩进,并且内置了很多有用的功能和函数.可以在任何操作系统上使用. 二.安装方法 1.pip 在线安装 pip install ipython pip install "ipython[notebook]" 2.下载安装 可以到GitHub 下载安装包,切换到目录下然后运行下面的脚本 Python setup.py install 三.简单使用 打开Linux终端,在命令行中输入 root@Linu

浅谈在openSUSE下ASP.NET 4开发环境配置(1)

浅谈在openSUSE下ASP.NET 4开发环境配置(1)

Linux下的PHP+MySQL开发环境的配置

目前Web开发人员常使用的开发语言是PHP.ASP和JSP.这三种语言各有所长,也各自拥有一大批忠实的开发者和使用者.对于使用PHP做Web开发的人员来说,很多人选择了在Windows下进行开发,而最终开发出的程序则运行在Unix类(如Linux/FreeBSD)的操作系统上.开发环境和实施环境的不同,使得许多开发人员的系统知识稍显欠缺.作为一个使用PHP进行Web开发的人员而没有用过Linux,这种现象并不少见.更不要说具备一些简单的Linux系统知识,能够自己安装开发环境了.一个开发人员了解

KVM下用DevStack快速安装和配置OpenStack开发环境教程

  OpenStack是一个开源的云计算管理平台项目,支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台.本文我们来谈谈DevStack安装和配置OpenStack开发环境. OpenStack的安装和配置有一点复杂,特别对于初学者来,第一次安装OpenStack时经常会碰到很多的问题.不过在Openstack社区中,一些开发者开发了一些自动化脚本来方便搭建OpenStack的开发环境,其中,DevStack是其中相对比较完善的,也是OpenStack