きっかけ
- CI ツールについて調べていたところ、こちらで話題になっていたのを思い出して
- また、内部で
redis
使われているとのことなのでさらに興味津々 - Altria という名前がカッコイイ
- 詳細はこちらに紹介されており、Ruby でプラグインを書けるというのは魅力的なのではないか
導入
今回は素の CentOS 6.4 にインストールする。
SELinux と iptables はとりあえず止めておく
$ sudo getenforce Disabled
$ sudo /sbin/service iptables stop
必要なパッケージを yum からインストール
sudo yum install wget gcc make zlib-devel openssl-devel mysql-server git readline-devel gcc-c++
MySQL サーバーは起動しておく。
sudo /etc/init.d/mysqld start
ruby のインストール
wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz tar zxvf ruby-2.0.0-p247.tar.gz cd ruby-2.0.0-p247 ./configure sudo make sudo make install
今回は ruby-2.0.0-p247
を利用する。
rails のインストール
sudo gem install rails --no-ri --no-rdoc -V
redis 先生のインストール
wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz tar zxvf redis-2.6.14.tar.gz cd redis-2.6.14 make make install
redis は PUB/SUB システムをビルドの開始と停止の通知で利用しているようで...ちなみに PUB/SUB システムってコレのことかな。
Altria を git clone してくる
git clone https://github.com/r7kamura/altria.git
Altria の setup を行う。
README に従い setup
を行う。
./bin/altria setup
必要な gem
パッケージのインストールと共にデータベースの設定等が行われる。
使ってみる
起動
./bin/altria start
起動画面
redis
おなじみの起動画面。そしてちらっと puma
の文字が...。
ホーム画面
Jenkins
と比較するととてもシンプル。
ジョブの登録
ジョブの登録も統一されてシンプル。ひたすら hoge
を実行するジョブを登録してみる。
ジョブの実行
手動によるジョブの実行は黄色ボタンの Run
をクリックする。
ジョブの実行結果
一貫してとてもシンプル。
ほんのり
- ほんのり触ってみてシンプルなインターフェースに共感、ビルドの処理がグラフで表示されるのも素敵
- シンプルとは言え、Plugins も提供されているおり、前述の通り ruby で書くことが出来るのは魅力的
参考
could not find a javascript runtime
rails
をセットアップする際によくあるエラーらしい。(Google 検索による当社比)
sudo gem install execjs --no-ri --no-rdoc -V
をしたりしたが...gemfile に以下を記載した上で bundle install
すれば改善された。
gem 'therubyracer'
gem list
参考までインストールされた gem
の一覧を。
$ sudo gem list *** LOCAL GEMS *** actionmailer (4.0.0) actionpack (4.0.0) activemodel (4.0.0) activerecord (4.0.0) activerecord-deprecated_finders (1.0.3) activesupport (4.0.0) arel (4.0.0) atomic (1.1.10) autodoc (0.1.2) awesome_print (1.1.0) bigdecimal (1.2.0) builder (3.1.4) bundler (1.3.5) clockwork (0.5.4) coderay (1.0.9) coffee-rails (4.0.0) coffee-script (2.2.0) coffee-script-source (1.6.3) colorize (0.5.8) coveralls (0.6.7) diff-lcs (1.2.4) dotenv (0.8.0) erubis (2.7.0) execjs (1.4.0) factory_girl (4.2.0) factory_girl_rails (4.2.1) font-awesome-rails (3.2.1.2) foreman (0.63.0) hike (1.2.3) i18n (0.6.4) io-console (0.4.2) jquery-rails (3.0.4) json (1.8.0, 1.7.7) kaminari (0.14.1) libv8 (3.11.8.17 x86_64-linux) mail (2.5.4) method_source (0.8.2) mime-types (1.23) minitest (4.7.5, 4.3.2) mono_logger (1.1.0) multi_json (1.7.7) mysql2 (0.3.13) polyglot (0.3.3) pry (0.9.12.2) pry-rails (0.3.2) psych (2.0.0) puma (2.4.0) quiet_assets (1.0.2) rack (1.5.2) rack-protection (1.5.0) rack-test (0.6.2) rails (4.0.0) railties (4.0.0) rake (10.1.0, 0.9.6) rb-readline (0.5.0) rdoc (4.0.0) redis (3.0.4) redis-namespace (1.3.0) ref (1.0.5) response_code_matchers (0.0.3) resque (1.24.1) rest-client (1.6.7) rspec (2.14.1) rspec-core (2.14.4) rspec-expectations (2.14.0) rspec-json_matcher (0.0.4) rspec-mocks (2.14.1) rspec-rails (2.14.0) sass (3.2.10) sass-rails (4.0.0) simplecov (0.7.1) simplecov-html (0.7.1) sinatra (1.4.3) slim (2.0.0) slop (3.4.6) sprockets (2.10.0) sprockets-rails (2.0.0) temple (0.6.5) test-unit (2.0.0.0) therubyracer (0.11.4) thor (0.18.1) thread_safe (0.1.2) tilt (1.4.1) treetop (1.4.14) tzinfo (0.3.37) uglifier (2.1.2) vegas (0.1.11) weak_parameters (0.0.6)