ようへいの日々精進XP

よかろうもん

Altria をほんのり触ってみる

きっかけ

  • CI ツールについて調べていたところ、こちらで話題になっていたのを思い出して
  • また、内部で redis 使われているとのことなのでさらに興味津々
  • Altria という名前がカッコイイ
  • 詳細はこちらに紹介されており、Ruby でプラグインを書けるというのは魅力的なのではないか

導入

今回は素の CentOS 6.4 にインストールする。

SELinuxiptables はとりあえず止めておく

$ 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 のインストール

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

起動画面

f:id:inokara:20130730055818p:plain

redis おなじみの起動画面。そしてちらっと puma の文字が...。

ホーム画面

f:id:inokara:20130730053423p:plain

Jenkins と比較するととてもシンプル。

ジョブの登録

f:id:inokara:20130730053439p:plain

ジョブの登録も統一されてシンプル。ひたすら hoge を実行するジョブを登録してみる。

ジョブの実行

f:id:inokara:20130730053455p:plain

手動によるジョブの実行は黄色ボタンの Run をクリックする。

ジョブの実行結果

f:id:inokara:20130730053508p:plain

一貫してとてもシンプル。

ほんのり

  • ほんのり触ってみてシンプルなインターフェースに共感、ビルドの処理がグラフで表示されるのも素敵
  • シンプルとは言え、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)