Yosemite Disk

#隠しファイルの表示
defaults write com.apple.finder AppleShowAllFiles TRUE
pkill Finder
#extract InstallDiskImg
open /Applications/Install OS X Yosemite.app/Contents/SharedSupport/InstallESD.dmg
open /Volumes/OS X Install ESD/

BaseSystem.dmgをディスクユーティリティで開いてDVDに書き込む

Boot

起動ディスクをBaseSystemにする

methodの前方でif-return,後方でreturnは好きじゃない

例えば,quicksortのアルゴリズムで以下のようなものがある. このように,複数にreturnが書いてあるのが好きじゃない.

def quicksort(array)
    return [] if array.length == 0 
    pivot = array.shift
    larger = array.select{|n| n > pivot}
    smaller_or_eq = array.select{|n| n <= pivot}
    return quicksort(smaller_or_eq) + [pivot] + quicksort(larger)
end

書き方が自由なら...

多様な書き方ができるなら,三項演算子でif-elseを再現してlambdaの戻り値を渡してあげればいいんじゃないかと思う.

def quicksort(array)
    return array.length == 0 ? [] : ->{
        pivot = array.shift
        larger = array.select{|n| n > pivot}
        smaller_or_eq = array.select{|n| n <= pivot}
        quicksort(smaller_or_eq) + [pivot] + quicksort(larger)
    }.call
end

Jenkins Build Trigger

http://[JenkinsDomain]/git/notifyCommit?url=git@hostingsite:your/repository.git

調べているとJenkinsのTriggerには/git/notifyCommitに対してパラメータを送る人が結構いた.

しかし,OpenShiftのJenkinsのように認証が必要なJenkinsでは使用できない. Jobの設定にて,Build Triggerの項目にリモートからビルドという項目がある.そこへ任意の認証Tokenを入れればよいみたいだ.

そのTokenを利用して[JENKINS_URL]/view/All/job/[JobName]/build?token=[TOKEN_NAME]のURLへPOSTするとbuildをし始める.

OpenShiftでJenkins

Bitbucketのprivate repositoryをCIしたいときに,OpenShift上に作成したJenkinsを選択した.

理由としては,

  • 無料
  • 簡単に環境を作れる

OpenShiftでは,3つのインスタンス(Gear)まで無料で使用できる.

また,OpenShift上ではいくつかのアプリケーションに特化したコンテナを選ぶことができる. その中に,JenkinsようのものがありOnceClickでインストールできる.

てっきり,Jenkinsのジョブの設定をすれば使えるのかなと思っていたが,「保留—利用可能な次のエグゼキューターを待っています」と出てきた.

しかし,buildするためのノード数は,初期値が0であるため動かなかった...

Jenkinsの管理 -> ノードの管理 -> ノードのconfigure(スパナみたいなアイコン) -> 同時実行数[1]