2012/02/10 第2回大阪Jenkins勉強会 http://atnd.org/events/23053Read less
![中規模プロジェクトでのJenkinsの運用を支える技術](https://cdn-ak-scissors.b.st-hatena.com/image/square/447a2b820eb50aa9f96964c829a2931e99fa9e16/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fjenkins-120210101555-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
今回の課題 こんにちは植木和樹です。7月にserverspecを使ったChefの自動テストのエントリを書きました。 【AWS】JenkinsとserverspecでChefのテストを自動化する このエントリは初めてJenkinsを触った時に書いたので、いろいろと流儀がわかっていませんでした。その後弊社にJenkinsマイスターの渡辺修司さんが入社したということで、Jenkinsの設定について見てもらいました。その時に次の6点を見直すよう指摘がありました。 ジョブは意味ある単位で1つにまとめるべし ジョブで実行するシェルスクリプトもgitから取得すべし EC2の起動に失敗したら後続処理を停止させるべし serverspecの実行結果はJUnit(XML)形式で出力すべし 実行結果のXMLをJenkinsで読み込んで統計グラフを出力すべし 定時実行でなくgit push hookを入れるべし
まとめ Jenkinsのjobの設定管理はリポジトリのバージョンと揃えないと行けないため面倒 全てをスクリプトで実行するのが理想だが、本体の機能を使いたい場合は対応できない build flow pluginがファイルを読み込んで実行できるようになった これにより、Jenkinsのjobを呼び出すスクリプトをリポジトリ内に入れてバージョン管理出来る Jenkinsのjob設定問題 Jenkinsの大きな問題の一つは、Jenkinsのjob設定をどう管理するかだと思います。 例えばビルド手順を変更する場合、プラグイン設定に後方互換性がないような変更を行うと、 前のバージョンをビルドしたときにエラーになります。 このような場合、通常は最新の変更を取り込む事で解決しますが、 コードフリーズ中のリリースブランチのように、最新の変更を取り込めない場合はこの方法で解決できません。 このような場合、二通
Jenkinsのビルドパイプライン系plugin3種類を見ていきます。 Build Pipeline Plugin https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin Build Flow Plugin https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin Delivery Pipeline Plugin https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin ちなみにこれらプラグインはここから適当に探しまんた。 https://wiki.jenkins-ci.org/display/JENKINS/Plugins ちなみに、ビルドパイプラインって何? 例えば、
こんにちは 昨日は東京で「桜(ソメイヨシノ)の開花」が発表されましたね~ まだ少し寒いですが、春はもうすぐそこまで来てますね 春が来ると花粉に悩まされるだっちです 良い花粉対策があったら募集してます さて、前回のノブの記事 Jenkinsでのビルドパイプライン構築~導入編 なぜビルドの自動化は必要なのか?~ に引き続き、今回は私がJenkinsの紹介をしていきます 今回紹介するのはこちら Jenkins Parameterized Trigger plugin Jenkinsのジョブからジョブへ変数を渡すことができるプラグインです ジョブからジョブへ変数を渡すといわれても何が良いのかよく分からないですよね… 私も最初はよく分かりませんでした 例えば、 ・ジョブA パラメーター:○○ブランチ 手順 :→→ こんな構成でジョブがあったとします そこへ、 「次の提出用の実行ファイル、□□ブ
APソリューショングループの相野谷(@ainoya)です.このたびATLと共同で,CIやCDにおけるビルドパイプラインの実行を手助けする小さなツールwalterを開発しました. 開発の動機: Jenkinsプラグインに強く依存するビルドパイプライン設定 Jenkinsを使ってCIを実現する場合,複数のジョブを繋げて一連の処理フロー(ビルドパイプライン)を作るのが一般的かと思います.Jenkinsには,ビルドパイプラインを構成するための便利なプラグインがあり,これを使って失敗時の実行制御や,ジョブの並列実行制御を簡単に設定できます. ところが,こうしたプラグインで実際にCIを運用してみると,ちょっと惜しい点がいくつか出てきました. パイプラインの全体実行フローをJenkins上でしか確認できない Jenkinsジョブを実際にキックするまで動作が確認できない 設定の移行がしづらい.GUI中心で
はじめに 今回は、Jenkins と Python の連携についてです。 使用するツールは、とても便利なテストフレームワーク pytest と カバレッジ coverage との連携についてです。 pytest の連携 まず、テスト結果のレポートからです。 Jenkins 側へ追加のプラグインのインストールは不要です。 pytest は、実行時にオプションを渡すことで XUnit 形式のレポートを出力できます。 インストール $ easy_install -ZU pytestXUnit 形式の XML でテスト結果を出力する $ py.test --junitxml=pytest.xml test_sample1.pypytest の使い方は割愛しますが、コマンドから --junitxml オプションを付与することで XUnit形式のレポートを出力させることができます。 レポート結果の集約
はじめに Jenkins で .NET ソリューションのビルドとテストが出来るようになりました。これだけでも便利ですけど、欲を言えばテスト結果を Jenkins 上に表示したい。あと、コードカバレッジのレポートも表示できると、いろいろ捗りそうです。 ということで、テスト結果とコードカバレッジを Jenkins で表示することに挑戦しました。ちなみに Visual Studio 2010 のコードカバレッジ機能は Premium 以上のエディションで利用できます。 今回の作業は、次の記事を参考にしました。 hudsonでMSTestのテスト結果とカバレッジをレポートする設定をしてみた。 - 高知で働くひとのブログ そのままでは上手く動かないので、やったことをまとめておきます。 Visual Studio ソリューションの設定 テストプロジェクトが既に作成されていることを前提に進めていきます。
Redmine, git, Jenkins などプロジェクト管理ツールの状態を横断的かつリアルタイムに表示するWebアプリ『Dashbozu』を作りました。 これを使えば、一つの画面でプロジェクトの”今”の状態を把握できます。 WebSocketを用いているので、ただ開いているだけで、次々と情報を得ることができます。 iPadで開きっぱなしにして、机の上に置いておくような使い方を想定しています。 なぜこれを作ったか 一般的なソフトウェア開発現場では Redmineでチケットを作成する gitでコミットを繰り返し、中央レポジトリにpushする JenkinsによるCIが実行される 結果を確認し、Redmineのチケットを閉じる という流れで作業が進んでいきます。 これらの作業の中で、開発者は「適切な」タイミングでチェックとフィードバックをすることを求められます。 例えば、チェックのタイミング
コードレビューについて Oh, you `re no (fun _ → more) より引用 単に普段の開発で使っている VCS でそれを行なっていました。 つまり、コードの中にコメントの形でレビューを書き、それをコミットする。 そしてそこから派生する議論も全てコード上のコメントで行います。 (もちろん複雑な話になった場合は直接の議論を行い、合議の結果だけを記しておく、なども当然あるでしょう。) レビューをソースコードのコメントとして直接書き込むのは、GHC の開発でも時々見かけますね。例えば、新機能の開発 branch を作って、新しい機能を開発している時とか。 2012-08-14 18:44:19 via OpenTween まあ、主に入った変更に Simon Peyton Jones が(ソースコード上で直接)コメントしそれに従ってソースコードを修正する形なので、レビューと言えるほ
オリンピックの流れに乗れてない@masudaKです。 職業柄かちょくちょくスクリプトを書くことはあるのですが、やはり色々自分で書いたり人のを見たりしてるうちに、この実行履歴綺麗だなーと思うことが多々あります。 今回は、そう思える対象のなかでも、「定期実行スクリプト」の「出力」を扱ってみたいと思います。 「定期実行スクリプト」というのは、バッチ処理だったり、何か必要に応じて叩かれるスクリプトで、具体的にはバックアップとか集計とか、一日に最低一回は叩かれるようなスクリプトです。cronやJenkinsで叩かれるような類ですかね。そのようなスクリプトの「出力」について書いてみたいと思います。 出力は標準出力であれば、tailfコマンドだったり、Jenkinsのビルドのコンソール出力で見られるようなもの。ロギングされてるのであれば、それと同様に追えるようなものとします。 以下に書くのはあくまで今の
こんにちは、エンジニアの岡崎(@watermint)です。今回はGREEにおけるJenkinsをつかった品質管理について紹介します。 hourlyビルド 岡崎がGREEに入社したのは1年半前ですが、そのときから感じているのがGREEの開発速度は非常に速いことです。ソースコードレポジトリには多くの優秀なエンジニアが日々数百以上のコミットしています。 GREEのシステムは多くのサブシステムを組み合わせたものですが、手元の些細な変更が全く予想しない別のプロジェクトで問題を起こすことがあります。こういった問題は通常、リリース前の結合テスト等の段階で検出します。 リリース前のテストで問題が発覚すると、当然その修正をして再度修正をリリースプロセスにのせるということになるのですが、これには他のエンジニアの作業を止めてしまったりリリースの順序を調整が必要になることがあります。 こういった事態を防ぐために単
Goal Jenkins で達成出来る事は沢山ありますが、この記事では複雑な設定を伴わないで実現可能な、apk の自動生成、テストの自動実行までを対象とします。 またビルドツールも Ant, Maven, Gradle, Ivy 等がありますが、標準でもサポートされており、最小構成な Ant を選択しています。 ※ Jenkins でどこまで自動化したいかによりますが、様々なタスクを実行しようと思うと豊富な Plugin を持つ Maven が便利ではあるので、それはまた別途。 ant でビルド出来る様にする Jenkins で CI するには、まずはプロジェクトをコマンドでビルド出来る必要があります。 Eclipse で作成したプロジェクトでは、そのままではビルドする事が出来ない為、後から Android SDK に含まれるコマンドを利用して Ant 用の build.xml を生成しま
品川シーサイド楽天タワーさんにお邪魔して、Jenkins実践入門の内容に沿った、Jenkins&CI勉強会でお話させていただきました。 楽天タワー初潜入です。 この勉強会はこんな感じでゆるーい始まり方です。 @lino_s 勉強会を開催していただけませんかー。 2011-11-17 06:56:16 via web to @lino_s @hyoshiokさんとは一度もお話したことはなかったのですが、後はとんとん拍子に話が進んで開催となりました。 私は@hyoshiokさんのブログや講演を見たことがあるので、一方的にファンだったので、お話をいただけて、大変うれしかったです。 こんなところもTwitterやソーシャルアプリの面白いところだと思います。 プレゼン資料はこちらです。 Jenkinsではじめる継続的インテグレーション View more presentations from Lin
(本記事は @suer, @mallowlabs, @mzp がノリノリで共同執筆しました!) 近代的なソフトウェア開発に必要なツールは3つある。 分散バージョン管理ツール ITS CI ツール 私はこれに AsakusaSatellite (以下AS)を加えたいと思う。 以上の4ツールを使用することによって、迅速なコミュニケーション、洗練された自動化をベースとした開発リズムを体験することができる。 このあとの節では具体的なユースケースをベースに、上記ツールの連携方法及びそのメリットをみていく。 ユースケース:開発中にソースコードの特定行で例外が発生した原因を探る ここは codefirst の開発室。 @suer と @mallowlabs と @mzp はリズム良くコードを書いています。 そんなとき、ビルドの異常を知らせるポップアップが表示されます。 さっそくAS 上でミーティングがは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く