Now Playing Tracks

Azure BLOBをJenkinsで利用する

Azure上のSlave ( or Master )から社内成果物などを参照して色々と処理したい要望は沢山あると思います。(特にストレステストなどなどなど)と言うわけでArtifactの共有化の手段の1つとしてBLOBを利用したArtifact共有化方法です。

Jenkins 継続的インテグレーション ソリューションでの Azure ストレージの使用

http://azure.microsoft.com/ja-jp/documentation/articles/storage-java-jenkins-continuous-integration-solution/

※実はMicrosoft公式にもっと詳しい内容が記載されていました・・が折角、書いたので・・・・

Access Keyの取得

image

Azure Portalにログインし任意のストレージアカウント作成時にそのストレージアカウントのダッシュボードからアクセスキーを管理を選択します。

image

アクセスキーの管理にて以下の2つの情報が取得します。

  1. ストレージアカウント名
  2. プライマリーアクセスキー

Azure Portalの利用はこれで終了です。

Jenkins への設定

image

Jenkinsセットアップ後にAzure Storage plugin (https://wiki.jenkins-ci.org/display/JENKINS/Windows+Azure+Storage+Plugin)の先ほど取得したストレージアカウント名、プライマリーアクセスキーをJenkinsの管理→設定します。

設定後Validate storage credentialsを押して Validation Successfulが出ればOK!

Jenkins JOBの設定

image

対象のJOBのビルド後の処理からUpload arfificats to Microsoft Azure Blob storageを選択しContainer name には好きなコンテナ名を記入してください。

Make new container public by defaultとClean Containerは用途に合わせてList of arfificats はここではワイルドカードにしていますが、特定フォルダー以下などの場合は /output/*.* のような感じにするとそのフォルダー以下だけを送るようになります。

ApplicationInsightsにCustom Counterを!

image

Application Insightsはとても便利なのですが、色々と気難しい部分があります。特にCustom Counterは中々にすんなり出てくれない問題があり、地味に苦労するケースが多いです。

・そもそもカスタムカウンターが登録出来ない

WebRoleから登録しようとすると色々と深みにハマります。ただしググると色々出てきます。

Custom Performance Counters in Windows Azure

http://blog.elastacloud.com/2011/01/14/implementing-custom-performance-counters-in-windows-azure-sdk-1-3/

Windows Azure Diagnosticsのパフォーマンス カウンターをプラグイン化して使う

http://blogs.gine.jp/taka/archives/2128

とりあえず私は前者のページを参考にwebrole実行前にcustom counterを登録するだけのexeを用意して対応しました。

・Base カウンターをApplicationInsights.configに記載しない

良く考えるとそりゃそうだなんですがマルチカウンターのベース値の方はApplicationInsights.configに設定してはいけません。していると、何の警告も無く、そのカウンターが出ません。この何も出ないのが辛いよね・・

ApplicationInsights.configにカウンターを重複させない

これも地味にひっかかる人が居るケース。特にWebRoleを作ってると、ちまちまとdiagnostics.wadcfgやApplicationInsights.configに何度も編集したりしているとミスしやすいです。一度形が出来ると自動化出来るので、ミスが減るのですが形が出来るまでにハマるパタンで案の定ハマりました。(;_;)

例えば、フロントエンド開発は以前のようにサーバサイドの実装者が片手間に実装するようなものではなくなった。フロントエンド開発のためのフレームワークを選定し、それを正しく扱い、長期的に維持可能な設計を行うことが求められるようになった。

インフラも、仮想化やクラウドサービスが広まったことによって、それをハードウエアではなくソフトウエアのように扱うことができるようになった。かつ、インフラの構成をプログラマブルなものにすればするほどテスト~デプロイ~リリースまでのプロセスが高速になる。

さらに、最近はWeb開発領域にログ解析などビッグデータの扱いも含まれるようになっており、「広く浅く知っているだけ」では良いサービスを作ることが難しくなっているのだ。

伊藤直也氏が「Web開発は高度化している」と語る理由と、押さえておきたい3つの技術領域【2014年前半のインプットlog】 - エンジニアtype (via haru012)

試行錯誤するうち、ついに彼は究極の質問を思いついたのです。


プログラミングが好きな人はプログラミングを仕事に留めない、と私は常日頃より認識していました。そんな人は自宅にまでプログラミング好きを持ち込んで趣味として楽しんでプログラミングを続けています。私自身、職場ではフラストレーションに苛まれながらも、帰宅してRuby on Railsを書いているときに喜びを感じたことが今まで何度あったことでしょう。


1年間の試行錯誤の後、専門的な試験は一切やめてしまいました。候補者と向かい合って座り、せいぜい5分から10分間、何も質問せずに履歴書を読んでコメントします。それから、履歴書を裏返して、候補者の目を見て質問します。「あと30分くらい時間があります。あなたが今までに創りだした最高のプロジェクトについて話してくれますか?」、と。


この質問はプログラマーの採用に限らず、どのような分野でも有効な質問です。目を輝かせて自分が関わった最高のプロジェクトについて語り、自分の仕事に誇りと情熱を持っている候補者こそ、一緒に働きたい人なのです。

もしあなたが面接官なら聞くべき、たった1つの質問 | ライフハッカー[日本版] (via yellowblog)

Azureのクラウドサービス命名に利用出来ない言葉

当たり前といえば当たり前なんだけどクラウドサービス命名に利用出来ない文字列が存在する。

今回はchingと言う文字列が含まれていた為に生成できなかった。残念ながらリストはないとの事なので、AzurePortalで実際に作れるか試すしか無さそう。

上記のNGワードにひっかかっていると「指定されたURLは既に使用中です」と言うエラーが出る。当面はこれで弾かれないかで確認するしか無い。

To Tumblr, Love Pixel Union