個人と仕事のサーバはどちらも Knife-Solo で構成管理しています。
Chef がバージョンアップしたら、私はなるべく knife solo prepare し
ていますが、このコマンドは単純実行すると、サーバの台数に比例して時
間がかかります。
Knife-Zero でそれを解決できるのかなと思い、Getting Started してみ
ました。
masutaka/my_chef_repo
knife-zero trial
《続きを読む》
サーバの CI ってどうするのが良いのでしょうね。現状やむを得ず行って
いますが、やり過ぎ感も否めないです。
[2014-09-14-1] に Wercker+Vagrant+EC2 の組み合わせでこのサーバの
CI を始めてから、[2015-02-08-2] に CircleCI+Vagrant+EC2 に変更しま
した。そして今回、CircleCI+Docker に変更しました。
理由は EC2 を使うのは大げさだと思い始めたからです。CI 時間の短縮を
期待しましたが、ほとんど変わりませんでした。結果的に、時々 EC2 イ
ンスタンスを起動するのに 30 分以上かかり、CircleCI のタイムアウト
時間を超える問題は解決出来ましたが。
Docker 入門できて自己満足は得られたのですが、Docker の使い方ではな
いなあというのが正直な感想です。
《続きを読む》
[2014-01-09-1]からWerckerを使い始めて1年とちょっと。このたび
CircleCIに移行しました。理由は以下のとおり。
- 会社のJenkinsが壊れてCircleCIを使い始めた。2つ覚えているのが面倒
- [2015-01-25-1]の継続的bundle updateをやりたい(WerckerはAPIがないっぽい)
- [2014-01-09-1]当時と違いCircleCIは1コンテナまで無料になった
Werckerは自分のBoxを簡単に作れたのが良かったんですけどね。
(masutaka/wercker-box-rvm-vagrant-awsの更新は停止します。)
《続きを読む》
[2014-09-14-1]に書いたとおり、このmasutaka.netではサーバのCIをして
います。
今までテストが通ってから、手動でCook+Serverspecして不便に感じてませ
んでしたが、試しにWerckerのデプロイ設定をしてみたら、案外便利でよく
使っています。
wercker.ymlはこんな感じです。
《続きを読む》
[2013-05-19-1]にインストールしたUbuntu 12.04はうっかり32bit版でし
た。。仕方がないのでUbuntu 14.04へのアップグレードがてら、クリーン
インストールすることにしました。
管理画面からポチポチしてOSのインストールは完了。Cookはあらかじめ
VirtualBoxとEC2で確認していたので万全です(キリッ
と思いきや、いつまでたってもRecipeが処理されません...。
《続きを読む》
[2014-01-09-1]からmasutaka.netのCIを開始したが、残念ながら
masutaka.netに直接serverspecする、なんちゃってCIだった。
masutaka.netにcookしてからPRを出して、WerckerにCIさせていた。
WerckerとAWSを連携させて、テストのたびにサーバをまっさらな状態から
作り、終わったら破棄することが可能になったので、ここに記録しておく。
《続きを読む》
自分のinit.elや.zshenvはGitHubのPrivateリポジトリで管理しています。
masutaka.netでも同じ設定を使いたかったので、Chef経由(実際はKnife
Solo経由)でgit cloneしようとしたら結構ハマったので、メモしておきます。
ぶっちゃけmasutaka.netに秘密鍵をおけば、ハマることはないです。でも
セキュリティ的にあんまりなので、sshのforward agent機能を使い、ロー
カルの公開鍵をリモートでも使うようにします。
《続きを読む》
昨日[2013-08-14-1]インストールしたGrowthForecastをFluentdと連携させ
てみます。
今回グラフにしたのは2つの情報です。
(1) nginxが各リクエストを処理した時間($request_time)
(2) nginxが返したHTTP Status Codeの数
《続きを読む》
前回[2013-07-17-1]から間が空いてしまいましたが、GrowthForecastをイ
ンストールしました。
インストールするだけなら、これだけでOKです。
% mkdir ~/growthforecast
% cd ~/growthforecast
% echo "requires 'GrowthForecast';" > cpanfile
% sudo apt-get build-dep rrdtool
% plenv exec carton install
起動方法はこんな感じ。http://example.com:5125とかにアクセスすると確
認出来ると思います。
% cd ~/growthforecast
% carton exec -- perl growthforecast.pl --data-dir . &
--data-dirオプションを指定しないと
~/growthforecast/local/lib/perl5/auto/share/dist/GrowthForecast/data/
以下にsqlite関連のファイルが作られます。~/growthforecast/localは
削除することもあるでしょうから、指定した方が良いと思います。
《続きを読む》
plenv + cpanm + carton でPerlの開発環境を構築する|Act as Professional - hiroki.jp
私もGrowthForecastをインストールするために、Ubuntu 12.04.2 LTS上に
Perlの環境を構築しました。@hirocasterさんと若干違いがあった(下記★
の箇所)ので、私の手順も書き留めておきます。
Perl力はゼロな私ですが、以下の認識でだいたい合っていると思います。
- plenv
Rubyのrbenvに相当。複数バージョンのperlをHOMEにインストールし、切り
替えて使うツール。というよりシステムを汚さないために使う感じ。
- cpanm
Rubyのgemに相当。Perlのライブラリをインストールするために必要なツー
ル。今はcpanじゃなくてこれを使うみたい。
- carton
Rubyのbundlerに相当。アプリごとにライブラリを切り替えることが出来る。
《続きを読む》
このブログはほぼ静的コンテンツなので、置き換えるメリットはほぼあり
ません。でもいろいろ遊びたかったので置き換えました!
◆置き換え前→さくらのレンタルサーバ [2009-05-17-4]
リアルサーバ。
他の人と/homeを共有する。
コントロールパネルからメールアドレスを作ったり、アクセス解析出来る。
カスタマイズ性はほぼない。
OSはFreeBSD 7.1-RELEASE-p16
WebサーバはApache/1.3.42
年間5,000円(スタンダードプラン)
◆置き換え後→さくらのVPS
仮想サーバ。
ユーザは自分だけ。
コントロールパネルとかはない。
カスタマイズしまくり。
OSはUbuntu12.04 LTSにした。[2013-05-19-1]
Webサーバはnginx/1.1.19にした。
年間16,280円(プランは2G。石狩リージョン)
結構真面目にサーバを構築しました。
参考にしたのはもちろん『入門Chef Solo』[2013-04-22-4]
基本的にVagrantとserverspecで検証しつつレシピを書いたので、本番環境
で悩むことは少なかったです。時代は進みましたね。
Webサーバはnginxにしました。Apacheに比べて、設定がシンプルで惚れま
した。あと、ごく一部で使っているcgi用にfcgiwrapをインストール。
chef-soloで構築してみた疑問や課題はこんな感じ
・パッケージ全体のupgradeはどのタイミングでやれば良いのか?
・他の人のChef-soloリポジトリを知りたい。Vagrantでも真面目にテスト書いている?とか。
chalowはChef-soloでは管理してません。まあ、Webアプリケーションなの
で、デプロイ対象とかそっちの話だと思う。今は自作のmkchalowコマンド
でアップロードしてます。[2009-06-14-3]
業務でちょろっと使ったことある程度だし、890円だし、買ってみた。
Chefはサーバー設定や更新を自動化するツールです。サーバにちょっとで
も興味がある人は今すぐ読んだ方が良いです。仮想サーバのVagrant使って、
本当に簡単に試すことが出来ます。
前職で頑張ってNFSやLDAPをセットアップしてましたが、もうそういう時代
じゃないんですね。
knife-solo 0.3.0のrake installや、knife solo initでエラーになり、
ちょっと調べる必要があったので、そこはアップデート版に期待したいです。
買った時は考えていませんでしたが、これを機にこのブログのサーバをリ
プレイスすることにしました。
今はさくらのレンタルサーバ スタンダードを使っています。[2009-05-17-4]
要は共有サーバなので、自由にパッケージを入れたり設定を変えることは
出来ません。HOMEディレクトリも共有です。
ちょうど4/20が契約更新のタイミングだったので契約を停止し、さくらの
VPS 2Gプランを申し込みました。nginx動かしたり、fluentd(というかtd)
でログ集めたりしようかなあと思ってます。
そのためのサーバの設定をChef Soloで書きます。5/31までにリプレイスし
ないと、masutaka.netにアクセスできなくなる。ヤバイw