#Template Dockerfile for Ruby projects
FROM ubuntu:14.04

RUN apt-get update

## Default Packages
RUN apt-get install -y -q ruby1.9.1 ruby1.9.1-dev build-essential
RUN apt-get install -y nano wget links curl rsync bc git git-core apt-transport-https libxml2 libxml2-dev libcurl4-openssl-dev openssl sqlite3 libsqlite3-  dev
RUN apt-get install -y gawk libreadline6-dev libyaml-dev autoconf libgdbm-dev libncurses5-dev automake libtool bison libffi-dev

## Ruby
RUN curl -L https://get.rvm.io | bash -s stable
#Set env just in case
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN /bin/bash -l -c "rvm requirements"
RUN /bin/bash -l -c "rvm install 2.1.1"
RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc"

## Nodejs engine is used in many projects (e.g. execjs)
RUN apt-get install -y nodejs npm
RUN ln -s  /usr/bin/nodejs  /usr/bin/node

Ссылки

https://gist.github.com/atomlab/af1bd2b0c7819d5ec317

В этой статье кратко опишу как поставить Ruby, а затем Jekyll. Установка ruby будет производиться через RVM — Ruby Version Manager. Программа для управления версиями Ruby.

Установка rvm:

aptitude install curl nodejs
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby

Если в системе не хватает зависимостей, то rvm предложит автоматически их установить через пакетный менеджер:

Updating system <user> password required for 'apt-get --quiet --yes update':

Выполнить в консоли:

source /home/$USER/.rvm/scripts/rvm
/bin/bash --login

Для установки Jekyll установлю gem ‘github-pages’, который сам поставит Jekyll и все необходимое для его работы:

gem install github-pages
gem install bundler
bundle install

Добавить в ~/.bashrc:

# RVM
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
source ~/.rvm/scripts/rvm > /dev/null 2>&1

Теперь Jekyll установлен и можно создать новый блог:

jekyll new myblog

Ссылки:

https://help.github.com/articles/using-jekyll-with-pages/

Нужно скопировать файл foo из master в gh-pages.

git checkout gh-pages
git checkout master foo
git commit -m 'Add file foo to gh-pages.

Соответственно для копипрования всей ветки

git checkout master ./

Ссылки:

http://stackoverflow.com/questions/17416691/how-can-i-copy-files-from-a-branch-to-another-using-git