BambooがJenkinsの10倍ぐらいは良いと感じている件


こんにちは、sugitaniと申します。


最近JenkinsからBambooに乗り換えてみたところ、大変便利だったので良さを列挙してみます。


デプロイ独立が良い


Bambooの特徴として、ビルドとデプロイが分かれています。


“ビルド”は普通のCI機能です。配布パッケージを作って保存しておいたり、テスト回したり、いろいろ定期実行したり、といったことができます。“デプロイ”とはどの環境に、どのビルド結果を何を入れるか、に特化した画面です。


指定環境をmasterブランチにしたり、開発中のブランチにしたり、一つ前のビルドに戻したり等、様々なビルド結果をボタンぽちぽちするだけでデプロイすることが出来ます。


GANMA!ではVagrant制御のVMでの開発を基本とするも、デモ用環境や編集業務用、リリース前のテスト用等、いろいろあって大変でしたが、ここらの切り換え作業がずいぶんと楽になりました。


環境別にどのビルドが入っているのかが一覧されるので「あれ?この環境更新してないんだっけ?」が無くなる効果もありました。


リリースノートもコミットログから自動で作ってくれるので、内容確認も楽です


権限管理がとっても良い


Jenkinsは権限管理が大ざっぱで、まともに動かそうとするとAdminを渡さないとやってられない感じでしたが、Bambooは流石のAtlassian社なので、権限管理が非常に充実しています。


ビルドやデプロイの閲覧・実行・編集権限を個人・グループ単位が指定できる、という基本的なことはもちろん、権限を渡したプロジェクト内であれば、その中で自由に設定できます。


静的ページなど、チェックが甘くてよいものはデザイナーさんでもマウスぽちぽちするだけでデプロイできるようにしたりする、などが楽にできます。


最も大きいのは秘密鍵を隠せる、といったところでしょうか?


Jenkinsでsshアクセスを取り扱おうと秘密鍵を登録すると、Admin権限持ちはJenkins設定ページから全部の秘密鍵を見ることができるようになります。かといってAdmin無しでJenkinsを設定してくれ、というのもなかなかつらさがあるので、Jenkinsでちゃんとやるのであればプロジェクト毎に専用のJenkinsを立てないと厳しい、という印象です。(設定追い込めば、ちゃんとやれるのかもですが)


Bambooであれば全社サービスとしてCIを提供することが苦労少なめでできます。


Stash連携


弊社ではコード管理にAtlassianによるGitHubもどきのStashを利用しています。BambooとStashの連携は流石によく練られていて


  • 全ブランチ or 指定ブランチを即時に自動ビルド・テスト。
  • ビルドが転けたらStash側にも警告表示・テストが通らないとマージ拒否も設定可能

といったことが小細工無しできます。Webhooks設定が自動になった感じでしょうか?
頑張らなくても良いので助かります。


だめぽ


もちろん駄目な点あります。有料です。


エージェント単位でお金がかかるのですが、1プロジェクト1エージェントは最低必要で、混み合ってくると2~3は繋いで並列化したくなります。とはいえ、費用対効果から考えるとお安いといえるでしょう。


他にはGitHubと組み合わせるなら、他にもっと楽なのがあるかも?とか(Github側になにか出す以外はちゃんと動きそうな?)プラグインが少なめ、等でしょうか?(プラグインは結構さくっと書けた)


それでも複数プロジェクトをお持ちの組織で、CI周りでお困りでしたらとてもオススメです。


みなさまも、是非お試しください。

エンジニアにSEO対策を求めるのは間違っているだろうか?


どうも、こんにちは。セプテーニ・テクノロジー(ベトナム・ハノイ)駐在の鎌田です。
タイトルはただのキャッチコピーなので気にしないでください。


セプテーニ・テクノロジーという会社は、ベトナムでオフショア開発する会社です。


私が最近どんな仕事をしてるかというと、もちろんプログラマとしてコードも書いているのですが、
最近はそれに加えて、日本人のお客様のご要件をまとめて、それを現地メンバーに伝えたり
お客様からの質問に答えるなどの、非エンジニア業務が多くなってきました。
プログラミングばっかりやってた頃に比べると、クライアントの目線でプロダクトで作る事の大事さに改めて気付かされます。


その中で特に最近よくクライアントから聞かれるのが、「SEO対策」です。
もちろんもっと昔からいろいろな企業が関心を寄せていた事なんですが、こういうのって結構というか案外というか、エンジニア視点では気づきにくい、苦手分野だったりします。


で、ちょっと一から体系を勉強しようと思い、とても解りやすい・読みやすい本に出会ったので紹介したいです。
スクリーンショット 2015-06-18 18.08.08.png


【10年つかえるSEOの基本】著:土居健太郎


sensu-serverとpagerdutyの連携


こんにちは、貴子です。


この記事では、sensuでhttpdの死活監視を行い
pagerdutyを利用してアラートが飛ぶところまでをやります。
sensu-server・clientはインストール済みとします。


sensu-serer・clientのインストールはこちらから。
https://sensuapp.org/docs/latest/install-sensu-client


Septeni×Scala勉強会 #3 開催しました


こんにちは、杉谷と申します。


昨日6/17に、弊社にて「“Septeni×Scala”勉強会 #3
を開催しました。


本勉強会は弊社の知名度アップを目標としつつ、社内教育を兼ねたもので
1~2ヶ月おきに定期的に実施しており、今回は3回目です。


回を重ねるにつれ、大変多くの方々にご参加戴けるようになってきました。
ありがとうございます。


今回の発表内容は以下の通りでした


GANMA!でDDDをやってみてから1年くらい経った





完全オリジナルのマンガを定期配信しているGANMA!はドメイン駆動設計を採用しています。
その具体的なモデリングや反省などをまとめ、発表させていただきました。


DDD × 新人が学んでみたレシピ共有





弊社ではほとんどのプロジェクトでDDDを採用しており、新しく入られた方にはDDD研修を実施しています。
新卒入社のエンジニアに対して、どのような研修を行ったのかを発表させていただきました。


次回


次回4回目もやります!(たぶん)


日付は未定ですが、
connpassの“Septeni×Scala”勉強会グループ
次回開催のお知らせが届きますので便利です。お気軽にご登録ください。

TypeScriptの静的解析ツールを導入する


こんばんは、ゆあさです。


今回はTypeScript用の静的解析ツールであるtslintGruntのタスクとしてプロジェクトへ導入するまでの流れを書いていきたいと思います。