Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

技術部の福森です。 クックパッドでは RSpec と Jenkins を利用して CI による自動テストを行なっています。 テストの数は 12000 examples を越えていて、テストによっては稀に失敗する物が出てきています: 時間帯依存で失敗してしまうもの 他に同時に実行されるテストに依存しているもの (並列実行で組合せが変わり再現する) インテグレーションテストでの ajax リクエストの微妙なタイムアウト etc また、本番環境を壊さないよう、 CI で成功したリビジョンのみデプロイ可能となっており、開発者が push しデプロイしたいと思っている時に無関係な原因で失敗する事を避けたいという欲求があります。 なぜなら、再度ビルドを実行する時間 (およそ 10 分) の間待たされる事になるからです。 そこで、そのようなテスト起因での失敗を減らし、かつ開発者にそれらを修正してもらうた
The procedures in this chapter are for new installations of Jenkins. Jenkins is typically run as a standalone application in its own process. The Jenkins WAR file bundles Winstone, a Jetty servlet container wrapper, and can be started on any operating system or platform with a version of Java supported by Jenkins. Theoretically, Jenkins can also be run as a servlet in a traditional servlet contain
Continuous Integration and Continuous Delivery As an extensible automation server, Jenkins can be used as a simple CI server or turned into the continuous delivery hub for any project. Easy installation Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Linux, macOS and other Unix-like operating systems. Easy configuration Jenkins can be easily
【研究課題レポート抜粋】Jenkins+Unityで構築するスマフォアプリビルドサーバー | サイバーエージェント 公式エンジニアブログ
弊社Jenkinsビルド開始時にFF5の戦闘音楽 -> ビルド成功でファンファーレという流れをつけた— 川峠さん (@eaglesakura) 2013年2月13日 Jenkinsを使った開発を楽しくしようとして、BGMをつけたら案外話題になったからそのまとめ。 事の始まり iOSアプリの開発のために、余っていたMac Book AirにJenkinsを導入することに せっかくMBAだから、サーバー側のJenkinsには出来ないことをやろうと思った 導入方法 導入というほど大仰なことは実は行ってなくて、かなり適当な方法を取っています。 Macのターミナルには"afplay"という音源再生のコマンドがあるので、それを組み合わせるだけです。 鳴らしたい音をmp3でJenkinsを導入したMBAに保存 もともとJenkinsのビルドはシェルを実行する形式だったので、シェルに直接サウンドを鳴らすコ
前回、Jenkinsのインストールについて書きました。今回は、Jenkinsでビルド・パイプラインを構築する話です。 ビルド・パイプラインとは? ビルド・パイプラインとは、ビルドのプロセスを分割して順番に実行していくことです。例えばビルドの流れとして、コミット→静的解析→コンパイル→ロジック層のユニットテスト→UI層のユニットテスト等があったとします。これを1つのジョブとして登録するのではなく、1つ1つのジョブとして実行し、成功した場合のみ次のステップに進めるようにします。これがビルドパイプラインです。 メリットとしては、どの工程で失敗しているのか解りやすいことが第一にあります。またJenkinsの特性を活かして、特定のジョブを並列で動かしたり出来るので効率化も出来ます。また、更に検証済みマージなど、高度な活用にもつながります。 Jenkinsでビルド・パイプラインの構築 元々Jenkin
Chefはリポジトリをバージョン管理する仕組みを持っていますが、チームでの協調作業を考えるとバージョン管理システムを使う方が運用しやすいと考えます。本稿では、GitとJenkinsを使ってChefを運用するための1つのパターンを考えます。 以下があることを前提とします。 Chef Server Chef Client Gitリポジトリ Jenkins 基本的な考え方 CookbookをGitリポジトリで管理します。開発者がgit pushすると同時にChef ServerのCookbookが更新されるようにします。これにより、GitリポジトリとChef Serverが同期されるようになります。 また、後続ジョブとして各サーバでChef Clientが実行されるようにします。ビルドパイプラインを組むことで、Staging EnvironmentにおけるChef Client、Producti
継続的インテグレーションを始めるための基礎知識:グリーはいかにしてJenkinsを導入したのか(1)(1/2 ページ) 本連載では、グリーのサービス開発において導入している継続的インテグレーション(Continuous Integration、以下、CI)と、CIツールであるJenkinsの導入について3回に分けて説明します。Jenkinsのインストールといった“手順”よりも、CI導入の“モチベーション”や“進め方のポイント”を中心に説明します。 グリーの開発と継続的インテグレーション SNSやソーシャルゲームなどを運営するグリーでは、数百名の技術者が日々さまざまな機能やサービスを開発し、リリースしています。このような規模、リリース頻度での開発を支えるには数多くの工夫や仕組みが必要です。この中でも最も大きな仕組みの1つにCIが挙げられます。 グリーでは、開発にCIを本格的に導入し始めたのは
JenkinsでCI(継続的インテグレーション)すればAndroidアプリ開発はもう怖くない:Androidアプリ開発テスト入門(6)(1/2 ページ) 日本Androidの会テスト部が、いままで培ってきたAndroidアプリ開発におけるテストのノウハウを、実際のテストコード例とともに紹介していきます 本連載「Androidアプリ開発テスト入門」では、Androidアプリを開発している方のためにテストの基本的なノウハウを解説しています。第6回では、CIツールである「Jenkins」を用いてAndroidをテストする方法を解説します。 いまさら聞けない「継続的インテグレーション(CI)」とは 「継続的インテグレーション」(以下、CI)とは、アジャイルのベストプラクティスの1つで、「すべてが自動化された再現可能なビルド・テストを日に何度も行うこと」です。 CIのメリットには、次のものがあります
Subversion/Gitなどを使用したソースコード管理、Jenkinsを使用した継続的インテグレーション、様々なxUnitフレームワークを使用した自動テストなどをソフトウェア開発組織として実践することは、今日では、その開発組織の技術的な強みではありません。 それらを実践しないことが、ソフトウェア開発組織の「弱み」なのです。また、組織としてそれらの実践を推進しない、あるいはサポートできないマネージャも「弱み」となります。さらに、大規模なソフトウェア開発組織においては、それらのためのインフラ整備をプロジェクトごとに立ち上げなければならず、サポート部門が存在しないことも弱みとなります。※1 ※1 プロジェクトを始めるごとに、ソースコード管理やJenkins用のサーバの調達、OSから様々なツールのインストールを一通り行うためには、それなりの時間を要します。したがって、バックアップをも含めて環境
継続的インテグレーション 継続的インテグレーションツールとは、バージョン管理システムにある最新ソースを定期的に取得してビルドおよびテストを実行し、テスト結果を出力するものです(参考)。継続的にテストを行うことで、システム全体の品質改善が期待され、統合に伴う問題を減らすことができます。ここでは代表的なツールであるJenkinsを使って、RSpecのテストコードを定期的に実行するための設定方法と結果表示を紹介し、継続的インテグレーションの概要を説明します。 以下の条件を前提とします。 ・Ruby1.9.3 ・Rails2.3.1 ・RSpec2.8.0 ・Subversionによるコード管理 1.対象とするアプリケーションの準備 既にRSpecのテストコードが含まれたアプリケーションがあれば、このセクションをスキップしても構いませんが、JenkinsでRuby1.9系を用いてカバレージを取得す
Jenkinsで静的コード解析を常時自動化する手法が公開されていたのでメモ。 これは使い道があると思う。 【元ネタ】 Twitter / akipii: テスト自動化ができなくても静的コード解析を回帰テストのように使うのは効果的という指摘。ガラクタのレガシー資産プロジェクトで有効かもしれない。Jenkinsを使って継続的に静的コード解析をさせる - suzukijの日記 http://goo.gl/rpTq7 Jenkinsを使って継続的に静的コード解析をさせる - suzukijの日記 Twitter / akipii: Antのbuild.xmlをSonarが読み込んでソースの各種メトリクスを出力し、更にJenkinsと連携してCronのように使う手法。SonarがMavenだけでなくAntも使えると便利。Ant,Jenkins,Sonarの導入手順 http://goo.gl/wXJ
Twitter Japanは3日、「エンジニアオープンハウス」を開催した。この日はインフラストラクチャー担当のエンジニアディレクターであるRob Benson氏が「Twitterを支えるアーキテクチャ」としてプレゼンテーションをおこなったほか、同社のエンジニアである山本裕介氏が「Twitterとオープンソース」、蓑輪太郎氏が「Twitterエンジニアの1日」としてスピーチした。 ◆Twitterの分散型システム Rob Benson氏は、VMwareなどでエンジニアとして働いていた経験を持ち、現在はTwitterでインフラストラクチャーグループのエンジニアディレクターを務めている。プレゼンではTwitterで分散型システムをいかに構築しているかを説明した。 「スポーツのイベントや東日本大震災に代表されるような突発的な事象が起きた場合、急激なTPS(Transaction Per Secon
Goal Jenkins で達成出来る事は沢山ありますが、この記事では複雑な設定を伴わないで実現可能な、apk の自動生成、テストの自動実行までを対象とします。 またビルドツールも Ant, Maven, Gradle, Ivy 等がありますが、標準でもサポートされており、最小構成な Ant を選択しています。 ※ Jenkins でどこまで自動化したいかによりますが、様々なタスクを実行しようと思うと豊富な Plugin を持つ Maven が便利ではあるので、それはまた別途。 ant でビルド出来る様にする Jenkins で CI するには、まずはプロジェクトをコマンドでビルド出来る必要があります。 Eclipse で作成したプロジェクトでは、そのままではビルドする事が出来ない為、後から Android SDK に含まれるコマンドを利用して Ant 用の build.xml を生成しま
GitHubは12月19日、継続的インテグレーション(CI)サーバー「Janky」をMITライセンスで公開した。チャットを利用する自動化ツール「Hubot」を利用して動作し、チャット経由で通知を受け取ったり、操作を行える機能などを備えている。 Jankyは、オープンソースの継続的インテグレーションシステム「Jenkins」をベースとしたCIサーバー。GitHubでホスティングするプロジェクトが利用できるように設計したという。 Jenkinsは「Hudson」からフォークしたソフトウェアで、ビルドやテストなどの継続的なジョブを監視できる。プラグイン機構を備えており、サードパーティの拡張機能を利用できるなどのメリットがある。JankyもJenkinsコミュニティからのメリットを享受できるという。日々のオペレーションは、GitHubが先にオープンソースにしたチャット自動化ツールの「Hubot」で
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) 頻繁にSCMにコミットしないテストコードを書かないテストコードと製品コードを同時にコミットしない定時ビルドのみでコミットビルドがない・夜間ビルドしかない帰り際にコミットしてそのままCIの結果を見ずに帰るCIでテストを通すために手作業の準備が必要メインラインのみで大きなブランチをCI対象にしていない様々な種類のテストをまとめて行っているビルドの失敗に気付かないビルドに失敗しても放置しているビルドの失敗に気づいても、修正コード以外のコードをコミットする何も変更していないのにビルドが落ちたり落ちなかったりする頻繁にビルドが失敗しているので、失敗するのが普通だと思うCIからの通知メッセージが大量すぎるCIが落ちても何も通知しないCI
先日、技術評論社の傳智之さん(@dentomo)より、Jenkins実践入門を献本していただきました。どうも、ありがとうございました。 Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) 作者: 佐藤聖規,和田貴久,河村雅人,米沢弘樹,山岸啓,川口耕介出版社/メーカー: 技術評論社発売日: 2011/11/11メディア: 単行本(ソフトカバー)購入: 26人 クリック: 496回この商品を含むブログ (64件) を見る既に、Jenkins(Hudson)については、開発プロセスを自動化する継続的インテグレーションに欠かせないツールとして、日本でも非常に人気高いツールとなっており、また、雑誌やインターネットの記事でも今まで時々特集が組まれてきたと思います。WEB+DB PRESS 総集編 [Vol.1?60] 作者: 森田創,cho45
「継続的インテグレーション入門」を読んでみて、もっと早く読んでおけば良かったと後悔した。 内容がとても素晴らしかったので、理解できたことをラフなメモ書き。 【元ネタ】 Togetter - 「SIerは自動化する対象が違っているのでは?」 Continuous Deliveryをポチッた - watawata日記 Continuous Delivery - haru01のめも アジャイルなインフラのつくり方とデータマネジメント - メソッド屋の日記 インフラやデータ移行の自動化~アジャイル開発の最後の問題: プログラマの思索 Continuous Delivery~TDDとCIの次に現れた自動化の概念: プログラマの思索 【1】「はじめに」に、キーボードに「Integrate」というボタンが貼られていて「こんなに簡単ならいいのに」という雑誌の広告から始まる。 この挿話は、ビルド&デプロイの
追記: 公式プラグインになりました。Websocket Plugin - Jenkins - Jenkins Wiki 「pollingが許されるのは小学生までだよねー キモーイ キャハハハハハハ」というわけでビルド結果をpush通知するJenkinsプラグインを書きました。 特徴 Jenkinsのビルド結果をWebsocketを使って通知します。 モダンなブラウザはWebsocketに対応しているので、Javascriptで簡単に通知を受け取れます。 Websocketはプラットフォームに依存しないプロトコルなので、Javascript以外でも通知を受け取れます。 インストール方法 https://github.com/mzp/unageel/archives/master からwsnotifier.hpiをダウンロードする。 wsnotifier.hpiをJenkins の管理 > プ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く