Category Archives: 開発環境

割と楽してCentOS 6.5のgitをバージョンアップするChefのrecipe

環境

item version
OS CentOS 6.5
Chef 11.8.2
VPS さくらのVPS1GB

はじめに

最近休眠状態にしていたさくらのVPSの環境を久々に構築し直して遊ぼうと思ったんですが、gitのバージョンが古くて困りました。
そこで、chefのrecipeで手抜きしてgitのバージョンをアップデートする方法を紹介します。

問題

私の.gitconfigは環境ごとに設定を変えやすいように次のようになっており、[include]が重要な位置を占めています。

[include]
    path = ~/.gitconfig.local
[alias]
    co   = checkout
    st   = status
    br   = branch
    lol  = log --graph --decorate --pretty=oneline --abbrev-commit
    lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
    l = log --pretty=format:\"%ci %C(yellow)%H%Creset [%cn] %Cgreen%s %C(cyan)%d%Creset\" -10
    lop = log -p -1
    cp = cherry-pick
[color]
    ui = auto
[user]
    name  = foo
    email = foo@example.com
[core]
    excludesfile = /Users/foo/.gitignore_global

しかし、この[include]はgitの1.7.10からサポートされたということで、デフォルトでは1.7.1がインストールされているCentOS 6.5では使えないという問題に当たりました。

解決

さくらのVPSを再開するに当たって、環境を作ったり壊したりをやりやすいVPSだからこそ尚更セットアップを自動化したいという思いに駆られ、今回から環境構築をChef + knife soloで行っています。
今回は次のようなレシピを用意しました。

site :opscode

cookbook 'yum-repoforge'
include_recipe 'yum-repoforge'

yum_package "git" do
  action :upgrade
  flush_cache [ :before ]
  options '--enablerepo=rpmforge-extras'
end
{
  "run_list": [
    "recipe[site_git]"
  ],
  "yum": {
      "rpmforge": {"enabled": false},
      "rpmforge-extras": {"enabled": false},
      "rpmforge-testing": {"enabled": false}
  }
}

方針

  • repoforgeは普段はenabledにはしないで、gitのインストールの時だけ使う
  • gitのバージョンはrepoforgeに上がっている最新の物を使う

おわりに

rpmforgeはいつの間にかrepoforgeという名前に変わっていたんですね。
とにかく、これで心置きなくgitの[include]を使えるようになり、幸せになりました。

尚、rpmforgeは非公式リポジトリなので、使用に注意して、できれば本番環境では使わない方がいいんじゃないかなあと思いました。

参考文献

https://tickets.opscode.com/browse/CHEF-2427

hubotでIRCのBOTを簡単に動かす(hubot2.3 + hubot-irc0.1.0)

サーバ さくらのVPS 1G
OS CentOS release 6.3 (Final) x86_64
Node.js v0.9.0
hubot 2.3
hubot-irc v0.1.0

BOT動作のイメージ図

でhubotの導入を試みましたが、現時点での最新版(hubot2.3+hubot-irc0.1.0)でより簡単に動かす方法がわかったので記します。

Read more »

hubot2.2でIRCのBOTを動かしてみる(Node.jsのインストールから)

hubot-ircの動作例
サーバ さくらのVPS 1G
OS CentOS release 6.3 (Final) x86_64
Redis v2.4.15
Node.js v0.9.0
CoffeeScript 1.3.3
hubot 2.2
hubot-irc v0.0.8

github製のBOTフレームワーク、hubotを参考サイトを読みながら導入した記録です。ちょうど真っさらな環境があったので、Node.jsの導入から試してみました。

hubot-ircの動作例

まとめスライドも作ったので良ければどうぞ→http://blog.fumiz.me/2012/08/05/hubot-matome/

Read more »