rubygems_check_replacement_vulnerabilityのDocker Image作った

id:sue445 さんが改ざんチェックgemを作ってくれたとのことで早速ためそう! sue445.hatenablog.com と思ったらMBPリストアしたばっかりでrbenv入ってなくて環境が整ってなかったのでrbenv突っ込んでrubyのビルドして・・・ やってられっかーーーーー!とな…

存在してるディレクトリにgit cloneする方法

initする方法 $ cd /path/to/existing_dir $ git init $ git remote add origin <remote-url> $ git fetch origin $ git checkout -b master --track origin/master 別ディレクトリにcloneして.gitをコピーする方法 $ git clone --no-checkout <remote-url> /path/to/writable_dir $ </remote-url></remote-url>…

WerckerでPrivateリポジトリなGemやPuppetモジュールを利用する方法

皆様あけましておめでとうございます。歳を重ねるにつれて1年を短く感じるようになり年末、正月気分が年々薄れていき今年はさっぱり正月気分を味わえていませんが皆様はいかがでしょうか?さてさて、最近巷で流行りのWerckerはご存知でしょうか?Github, Bit…

Eclipseプラグインをコマンドラインでインストールする方法

BoxenというかPuppetでEclipse環境を構築するのにプラグインのインストールをDropins使ってやろうと思ったのだけど、どうもDropins用にファイルで提供してるプラグインがあまりない感じだったのでやり方を探してみたところ分かったのでメモ。 やり方 インス…

jenkins-capistranoでプラグインインストールのサポートしたよー

ついでにjenkins-capistrano-0.0.6としてリリースしてみました。 リリースノート ビューの管理機能 プラグインの管理機能(実験機能) ビューの作成機能はサクッと出来たもののプラグインについては色々と悩みどころがあってここ2,3日考えていたんですが、まだ…

jenkins-capistranoでviewの作成をサポートしてみた

今まではジョブの作成、更新、無効化とslaveの作成までをサポートしていたのだけど、Viewも一緒に作成出来ればなぁと思ってJenkinsのコミットログをRESTでgrepしてみたら出来るっぽかったので対応してみた*1。 使い方 構成はこんな感じ config ├── deploy.rb…

キーマップのSIDを使った整理とprefix運用

vim

色々キーマップの割り当てで悩んでたんだけど、この方法はいいかもしれない。 <SID>(名前)としておいたのを後で参照できるので、コマンドの定義とキーマップの割り当てそのものを別に定義できていい。しかも名前がつけられるので適切に名前をつけてあげれば変にコ</sid>…

StoplightのIcinga,Monitプロバイダ書いたよー

近頃はなぜかめっきりインフラエンジニア?*1化しているさいないぷです。こんにちは。Eclipseとかもう1年以上開いてないし、Javaとか書いてないし、ひたすらRubyでしこしこな今日この頃。一人でDevOpsエンジニアだぜカッコイーとか勘違いしながら日々過ごし…

backlogのタイムラインをYammerにポストするツールを作ったよ!

みんなが何やってるかをメールで追いかけるのは面倒だし、ブラウザでbacklog見に行くのも面倒だしって訳で作ってみたよ。https://github.com/cynipe/backlog-streamer 出来ること BacklogAPIのgetTimelineした結果を延々とYammerの特定グループに垂れ流す 登…

複数のビルドサーバを一つのUIで確認できるStoplight

今週のDevOps Weekly(JUCの時に@agentderoに教えてもらった!*1 )で紹介されてたブログの中で紹介されてたツール。複数のJenkinsサーバが乱立してる状態でビルドステータスを確認したりするUI書こうかな〜なんて思ってたら、これがまさにそれだった。しかも…

PostgreSQLでテーブルロックせずにインデックスを再構築する方法

PostgreSQLにはreindexコマンドがあるけれど、これはテーブルロックがかかってしまうので運用中のDBに対して使うのは難しい。ただ、PostgreSQLでは別名で全く同じインデックスの作成を行うことができるのでこれを利用して運用中のDBも止めずにインデックスの…

git flow feature finishした後にリモート更新で気づくと悲しい問題への対処法

git

7/21のSCM Boot Camp in Tokyo 3にGitの講師役として参加してきた。その時に id:ToMmY さんとgit-flow(もしくはgit merge --no-ff)した後にリモートが更新されていると悲しいという話をしてたらgit-flowのオプションあるから使うべきという耳寄り情報をゲッ…

IntelliJ IDEA11 CEをインストールする時にやったこと

m2eに嫌気がさしたのでIntelliJに乗り換えたい今日この頃。Jenkinsのコードをゴニョゴニョするにあたって環境整えるべかということでやってみた。 起動オプションの設定 2009-10-17 - marsのメモによると変えたほうがいいよーとあったけど$IDEA_HOME/Content…

Jenkins第一回Rubyプラグイン開発Hackathon開催されるよー!

思いがけない経緯から第一回Rubyプラグイン開発Hackathonをやることになったので。その為の準備方法とかを書いてみようかと。 まずはRuby(JRuby)環境 JenkinsプラグインをRubyで書く為のSDKであるjenkins.rbはJRuby上で利用されることを想定しているので、ま…

tmux + iTerm2とクリップボード

重い腰を上げてついにLionにアップデート。せっかくなので設定周りもちょっと見直した。そこでゆろよろさんの日記を参考に設定をしていたんだけれども、もうすこしショートカット出来るようなのでその手順をば。 tmuxのインストール 何はともあれtmuxのイン…

Geminaboxをhttpsなnginxプロキシ+apacheで使う

備忘録的にクイックメモこんな構成 user -(https)-> nginx -(http)-> apache(passenger) nginxのconf location /geminabox { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set…

Homebrewで入れたfontforgeを使ってrictyをインストールする

前にちょっと流行った頃にRictyをインストールして使っていたのだけど、別のMacに入れなおす時にはまったのでメモ。Rictyの基本的なインストール方法については本家なりを参照してもらうとして・・・ brew edit fontforgeして--enable-doubleを外す brew ins…

rvmでreadline, zlib, openssl付きでrubyをインストール

rvm

毎回忘れるのでメモ # RVMからいれるなら $ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) $ rvm pkg install readline $ rvm pkg install zlib $ rvm pkg install openssl $ rvm install 1.8.7 -C --with-op…

zshでmavenの補完まとめ

他人の褌なのだけどハマる人いるかもなんて思ったのでまとめてみた。 さいないぷ (cynipe) on Twitterはてなブックマーク- さいないぷ (cynipe) on Twitter zshでmavenコマンドの補完 - Togetter ちなみに自分のはこんな感じ。教えていただいたsetopt comple…

30になってしまったので20代を振り返ってみる

25日でついに30になってしまったので、20代を振り返ってみる。 20歳 プログレやるんだぜ!と息巻いて音大に行く直前。歌舞伎町などで遊び歩く。 当時好きだったのはDream Theaterというプログレメタルバンド。 21歳 音大に入ってJazzとか古臭くてやってらん…

RVMでJRuby on Rails3

仕事でREST APIっぽいものを持ちつつ、スクレイピングしつつなサポートアプリを作ることになったのでRails使ってみようかなぁとか思い中。ただ運用面でRuby周りのAPサーバが云々とかになると監視だったりが若干厳しいので*1TomcatやらGlassfishやらで動かし…

.gitignoreに.gitignoreが追加できる

git

cowfish :: ~repog/gitignore-test &#187; git init Initialized empty Git repository in /Users/cynipe/var/repos/git/gitignore-test/.git/ cowfish :: ~repog/gitignore-test &#8249;master&#8250; &#187; touch .gitignore cowfish :: ~repog/gitignore…

Capistranoでタスクの実行中にユーザを切り替える

Capistranoって簡単なインストールスクリプトとか書く際には便利なんだけどユーザの切り替えどうするのがいいかな?なんて思って調べてみたら、以下のサイトがヒット。http://www.pgrs.net/2008/8/6/switching-users-during-a-capistrano-deployそのものズバ…

超絶簡単なJenkinsコマンドラインクライアント作ってみた

https://github.com/cynipe/domo仕事でちょいと使いたかったので作ってたやつをまとめてgem化してみた。rubyで作ったのはrubyを勉強してみたかったからというのと、別のツールの関係でシェルとの親和性が高い言語にしたかったというのが理由。実装内容は超絶…

git-svnでdcommit後に誤ってamendした場合の対処法

git

git-svnでローカルとリモートサーバーの整合性が取れなくなったけど。 - このブログは証明できない。 を見たところから話が広がって、dcommit後にamendしちゃったらどうすりゃいいの?を調べてみた。ストーリー的にはつまりこういうこと。 $ git svn clone -…

BundleのGemfile.lockはリポジトリに置いちゃだめっぽい

Macで作ったRubyのツールがWindowsで動かなくてはまったんだけど、理由はともかくもGemfile.lockをMacで作ったのをそのまま使うとロード時にエラーになってしまう。Issues を見てみても結構昔からある戦いのご様子?Windowsでも使う場合を考えるとGemfile.lo…

sedで複数行削除

とあるxmlのhogeタグごとその中身を削除したかったので調べた。 sed -i -e "/^<hoge>$/,/^<\/hoge>$/d" target.xmlカンマなんて考えもしなかった。sedって結構色々出来るみたいですね。いつも行内置換くらいにしか使ってないから分からなかったよ・・・。</hoge>

VirtualBoxでクローン

対象とするvdiを指定してコマンドラインでクローン。vdiの場所はVMをShutdownして設定>ストレージ>ストレージツリー>SATAコントローラからツールチップで見れる。 $ VBoxManage clonehd /pat/to/src.vdi path/to/dest.vdi

VirtualBoxのHeadless起動

VirtualBoxでVMを起動する時にいちいちGUIがある必要は全くないのでHeadlessで起動したい。コマンドラインツールで指定してあげれば出来るご様子。 # vmidを指定する必要があるので確認 $ VBoxManage list vms # 起動 $ VBoxManage startvm <vmid> --type headless</vmid>…

WindowsでRuby環境をpikを使って整える

pikのインストール https://github.com/vertiginous/pikRubyVersionManagerことRVMのWindows版らしい。ご丁寧にインストーラが用意されてるのでそれを入れる。gitがなくても入れられる*1。せっかくなので最新版の0.3.0-preを入れてみる。 https://github.com…

JenkinsのJobを一括で有効/無効にするスクリプト

1個ずつ有効/無効の切り替えをするのがだるいので書いてみた。hashに対して動的にアクセスするのでintern使ってるけどこれってそもそもお行儀のいいやり方なのかしら?あとeachのときにdo〜endとするのと{}で書くのってどちらが一般的なのかしら?

#mongotokyoのUSTに触発されてとりあえず動くとこまでやってみた

ソーシャルアプリのプロトタイプ制作にMongoDBを活用 View more presentations from fungoing この資料の発表を見てみたんだけど、プロトタイプの作成には凄く良さそうだなぁと。REST-APIを利用して動くクライアント側の実装者がサーバサイドMock作るにはサ…

Mechanizeを使ってJenkinsPluginを自動でインストールスクリプトを書いてみた

プロジェクト毎にJenkinsを分けて使うポリシーでいるので、プロジェクトがポコポコと立ち上がると毎度同じ構成で作るのがめんどくなったので作ってみた。とりあえず間に合わせ程度なので全然アレな感じではあるのだけど、ひとまず実用には足りるかと。Jenkin…

画面遷移図作成ツールBlockdiagをインストールしてみた

確かTwitterで見かけてビビッと来たのと職場ですぐにでも使えそうだな〜ということで入れてみた。 Blockdiagって何?っていう方は以下参照。 遷移図生成ツール blockdiag の紹介 @ Pycon mini JP 2011/01 View more presentations from Takeshi Komiya ドキ…

第2回Jenkins勉強会で発表してきた

第2回Jenkins勉強会でJenkins+Maven活用術ってタイトルでMavenのことをしゃべってきました。初めての発表でかなりgkbrしてましたが最後に @cactusman さんにこういうのが聞きたかったと言っていただけて嬉しかったです。ほんとはもっと突っ込んで話をし…

Maven3からはarchetype作るときに$と{のエスケープがいらない

cynipe/maven-archetypes · GitHubにあるcuke4dukeのarchetypeをつくっていたときに気づいたのだけど、maven3からは$と{をVelocity流儀にのっとったエスケープをする必要がなくなってる。裏は取っていなかったのだけど、のUsing Velocity cleanly with custo…

HudsonでJMeterを使った負荷テストを定期的に行う

Performance Pluginを使えばant+jmeterで簡単に出来る。jmeter-maven-pluginなんてものもあるけれど負荷テストをプロジェクトのpomに書くのはやり過ぎ感にあふれるので今回は使わなかった。まずはantを使って負荷テスト用プロジェクトを以下のようなディレク…

CSVをさくっと生成

今さらだけどほんとLL便利だわ・・・。

svn logをgit log --pretty=onelineな感じに整形するスクリプト(zshで色付き)

ちょっと欲しかったので書いてみた。ROXML便利!こうやってさくっとマッピング出来るのは嬉しい。

RedmineのチケットのURLとタイトルを表示するIRCBot

こんな月並なものは出尽くしているのだろうけど、Ruby勉強ついでに書いてみた。発言中にある#1000とかをタイトルとURLに展開してくれるIRCBot。最初は文字列連結してURLを合成して発言するだけのやつをJavaで書いてたのだけど、タイトルも欲しいなと思って作…

Mavenでビルドする際の10のTips

1. 環境別の設定はプロファイルで 環境毎に切り替えたいっていう設定ファイルは大抵のプロジェクトにはあると思います。DB接続先設定だったり、ロギング設定、場合によってはweb.xmlの初期化パラメータとか。最近流行り?のAppEngineだとデプロイ先の設定、…

はてなプラスにしてみた

少しはアウトプット増やそうという気な今日この頃。とは言え割と三日坊主だったりもするので自戒?もこめてはてなプラスに。頑張って書けばプラスの代金ぐらいアフィリエイトでいけるんじゃないのかなー?なんてぬるいことを考えてます。ちょっとかゆいとこ…

SayKana "Hudsonをゆっくりにしてみたよ'''"

なんかTwitterでSayKanaが盛り上がってたので、ついカッとなってHudsonをゆっくりにさせてみた。Hudsonには$BUILD_NUMBERとかはあるものの、$BUILD_STATUSな変数がないのでPost Build Task Pluginを使ってやってみた。設定は↓の写真でどうぞ。ただ、$JOB_NAM…

RedmineのWikiIndexからチケットを登録する

初めてのrubyなんでわけわからなくて時間かかっちゃったけど、こんな感じでとりあえずやりたいことは出来た。何がしたいかというとテストシナリオをredmineにガリガリと書いていってそれ用のチケットを自動で登録したいな〜なんて。でもこれユーザからじゃな…

Colorize Maven3 for zsh

404 Not Found を元にmaven3用かつzsh用にいじってみた。.zshrcとか.zshrc.aliasとか.oh-my-zsh/custom/xxx.zshに貼り付けるといいよ!もうちょっといじればもっと綺麗にも出来るんだろうけど、とりあえず用は足りてるのでこれでおk。Building〜なとこも青…

プロファイルでデプロイ先変更が可能なSlim3用archetype作った

本家のr1355を元にしてまっす。使い方とかはGithubのREADMEでどーぞ。http://github.com/cynipe/slim3-archetype-profiled-quickstartライセンスは引き継いでるからだいじょぶよね・・・? 公開リポジトリにデプロイしておいた ↓のコマンドで使えますん。 mv…

maven3互換性まとめ

maven3がリリースされましたね。気が向いたのでこんぱちのーつでもざーっと眺めてみました。@shin1ogawaさんに1000万の人が喜んでくれると言われたのでものっそい久しぶりに書いてみた!間違ってたりしたらご指摘ください〜。不安な箇所もあるので。。。元ネ…

id:jackpot1014がアノテーションがよう分からんというのでサンプルツール作ってみた。

http://cynipe.googlecode.com/svn/trunk/csvmanager からチェックアウト出来るよ!作ったのはCSVの列番号をアノテーションでフィールドにマッピングしてくれる奴。イメージ湧かす用サンプルなんでString型にしか対応してません。ヘッダ行もまったく考慮して…

ドメイン駆動設計のお勉強1

DDD

最近id:ashigeruに影響されて、DDDを読み始めてみたりしてる。これが結構開ける世界があって、今までなんであんなに"機能"に拘って考えていたのか全くもって分からない。モデルを軸に置いて考えるとこうも色々としっくり来るとは思わなかった。しかも機能を…

プロジェクトメンバのメアド一括登録

まぁ、こんなで。色々足りてないけど今のとこ問題なし。 import groovy.sql.Sql import groovy.grape.*; // Tracログインアカウント名 or メールアドレス // メールアドレスを指定する場合はメールアドレスがログインアカウントと同一であること。 def accou…