![Amazon.co.jp: 継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化: David Farley, Jez Humble, 和智 右桂, 高木 正弘: 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/33db4e2af8ff9bd80f29385466d86a65bd49fce2/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F51el3NdWH3L._SL500_.jpg)
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
第2回日本Seleniumユーザーコミュニティ勉強会(http://seleniumjp.connpass.com/event/9222/)の資料です。
Gitでバージョン管理をしていると、本番サーバにデプロイする際に、クライアントでpush、そして本番サーバにログインしてgit pull、ってやるのは面倒臭いですよね。そんな不毛な操作は自動化するのがプログラマとしては当然です。 GitHub上のリポジトリで、デプロイの自動化をやるにはWebhookやTravis CI、JenkinsなどのCIツールとの連携を考えます。選択肢は多々あり、それぞれにメリット、デメリットはありますが、今回は後々、FuelPHPのユニットテスト自動化までを見据えて、Jenkinsによるデプロイ自動化を試してみようと思います。 サーバ構成イメージ 今回、Jenkinsを導入するにあたって、専用のEC2インスタンスを立ち上げます。このインスタンスをCIサーバとして利用していきます。 GitHubリポジトリへプッシュされたとき、GitHubはJenkinsサーバへ通知
アプリケーションエンジニアの id:nobuoka です。 現在は 「少年ジャンプルーキー」 の開発に携わっています。 面白い漫画作品が数多く集まっておりますので、是非ご覧ください! さて、去る 1 月 11 日に 「Jenkins ユーザ・カンファレンス 2015 東京」 が開催されました。 はてなからも 「はてなにおける継続的デプロイメントの現状と Docker の導入」 というタイトルでセッション発表を行いました。 ここに発表資料を公開します。 発表資料 はてなにおける継続的デプロイメントの現状と Docker の導入 from Yu Nobuoka 概要 内容としては次の 3 点です。 はてな全体のサービス開発と Jenkins についての概要 「少年ジャンプルーキー」 の開発プロセスと Jenkins の活用 開発中の機能を確認するための web アプリケーションを Docker
OpenStackはどのようにテストしているのか?:OpenStack最前線~ユーザ会メンバーが持ち回りで語る「OpenStackのリアル」~(4) 特集記事と同時に、日本OpenStackユーザ会メンバーが超ホットでディープな最新情報をコラムスタイルで紹介していく@IT特集「OpenStack超入門」。コラム第4回は「Tempest」コアデベロッパーの井川征幸氏がOpenStackの品質を担保する「テストの仕組み」を紹介する。 皆さま初めまして。日本OpenStackユーザ会の井川と申します。OpenStackの開発コミュニティで「Tempest」のコアデベロッパーとして活動しています。 TempestはOpenStackにおける「テスト」を担当するプロジェクトです。「Nova」の仮想マシンや、「Neutron」の仮想ネットワークのように直接ユーザーが利用する機能と違い、Tempestを
クックパッドにおけるアプリのデプロイの資料が非常に興味深いので紹介します.これは @sora_hさんがRubyKaigi 2014で発表 された資料で,100台以上のサーバに短時間でアプリをデプロイする仕組みをどうやって作り上げたのかが説明されています. 以前,スライドの内容を箇条書きにまとめていたのでシェアします.最近では,Jenkins User Coferenceの発表(How We Use Jenkins? // Speaker Deck)でほんの少し引用されていたりします. 内容のまとめ スライドは90枚あります.ざっくりまとめた内容を以下に示します. 概況 140サーバに1日10回のデプロイを実施している(ピーク時) コードベースが大きい モデルだけで約 69K LOC プロダクトコードとテストコードを合わせると約 319K LOC デプロイのルール CIのビルドが成功したリビ
11月12日金曜日、Hudsonの生みの親である筆者の訪日にあわせて、法政大学情報科学部、Seasarファウンデーションの後援で、Hudson勉強会(またの名を「日本ビルド職人の集い」)が開催されました。200人以上集まる大きなイベントとなり、様々な発表やLTが行われました。その模様を報告します。 「Hudson初心者向けデモ」 まず、cactusmanさんによる、Hudsonをさわった事のない人向けへの紹介とデモが行われました。「java -jar hudson.war」で起動できるのが大変便利だとし、Hudsonからはスケジューリング、チェックアウト、ビルドの実行、結果のまとめ、ビルドの通知などができると紹介されました。 デモでは、Subversionリポジトリ上に格納されたMaven2プロジェクトをビルドする様子を紹介し、コミット後すぐにビルドが始まる様子や、新しいテストを追加
クックパッド 広告事業部の大野晋一です。責任範囲は広告事業の純広告およびネットワーク広告の商品開発担当で、事業部にはそれぞれの売上でコミットしています。 この記事では、動画変換の仕組みにおけるDockerの活用について紹介します。 クックパッドは8月8日、iOS/Androidのブラウザにおいて動画クリエイティブを掲出する広告商品を公開しました。広告商品としての詳細はプレスリリースやスライドを見ていただくのがわかりやすいのですが、本稿に関係する特徴としてスマートフォンのブラウザで自動的に再生が開始されるというものがあります。 スマートフォンのブラウザにおいては、現在のところ、動画を自動再生させることは出来ません。これはAppleやGoogleといったブラウザベンダが課している制約です。そこで、クックパッドでは、janiというライブラリを使い、特定の規則に基づいて作られた画像を、JavaSc
連載目次 連載第1回の「GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方」では、GitHub社が開発しているBotフレームワーク「Hubot」の概要、Hubotとチャットとの連携方法、Hubotの基本的な使い方を紹介しました。 前回の「Redmine連携でチケットをチャットに通知&開発を楽しくするHubotスクリプト6選」と同じく、今回も、サンプルアプリケーションに対して修正を行うシーンを例に、Hubotと各ツールがどう連携するかを解説します。 ソースコードはGitHubそっくりなUIと機能を提供している「GitBucket」(Scala製)で管理し、ビルドやデプロイはCI(継続的インテグレーション)ツール「Jenkins」で行います。 利用したソフトウェアとバージョンは以下の通りです。 Hubot 2.4.7 Kandan 1.2 Git
はじめに 近年、iOSやAndroid向けのアプリケーション開発が盛んに行われ、これまでWebが中心であったソーシャルアプリ開発も、徐々にブラウザの枠を超えたところに手を伸ばしつつあります。ソーシャルアプリ開発のプロジェクトは、多くの場合、スモールスタートで始まりますが、開発を続けていくにつれて、コードが増え、端末が増え、人が増え、気がつけば、機能を実現するための実装と関係ない部分でのタスクが膨れあがっていきます。そんなコストを技術的に解決するためのしくみがあれば、もっと本質的な部分に時間を割くことができるはずです。 今回は、CI(継続的インテグレーション)ツールのJenkinsと内製のQA向けダウンロードツール、コードレビューツールのGerritを組み合わせた、継続的な開発をサポートするしくみ作りについて、ミクシィでのAndroidアプリケーション開発の事例を取り上げてご紹介します。 1
CI(継続的インテグレーション)ツールの決定版、Jenkinsについて基礎から実践までを包括的に解説した"Jenkins: The Definitive Guide"がO'Reilly Mediaより2011年7月に出版されました。本書は、Jenkinsサーバのインストールや設定などの基礎から、自動化テスト、セキュリティ、ビルドの上級テクニックまで、Jenkinsのすべてについて、くまなく解説した書籍です。 本書の日本語版出版を来春に計画しており、現在、鋭意翻訳中です。翻訳者は『Hadoop』の翻訳で2010年度楽天テクノロジーアワード銀賞を受賞した玉川竜司さん。日本語版では、内容のさらなる充実を図るべく、プラグイン開発についての記事を掲載することも企画中です。また日本語版の出版に寄せて、Jenkins作者の川口耕介さんによる「日本語版まえがき」も掲載予定です。 来春の発売をお楽しみに!
前回はビルド設定とスキーマにより本番環境とテスト環境を数クリックで切り替えられる仕組みを説明しました。 今回はTestFlightによるアプリ配布と、Jenkinsを組み合わせてアプリ開発者以外でもアプリ配布ができるようになる仕組みの構築について説明します。 はじめに 背景と問題点 私がRettyで仕事を始めたとき、アプリを配布する仕組みは特になく、アプリの評価が必要になるたびに実機を借りてインストールを行い、評価をしていました。その後、会社のメンバーやインターンの数が増えてくるにしたがって、以下のような問題が出てきました。 評価を行うメンバーの全端末にそれぞれインストールするのが煩雑になってきた 開発者の数は増えたがiOS開発者は増えなかったため、インストール依頼の負荷がiOS開発者にかかるようになった 開発者の増加にともない開発環境が増え、ビルド設定とスキーマでカバーしきれなくなってい
技術部の福森です。 クックパッドでは RSpec と Jenkins を利用して CI による自動テストを行なっています。 テストの数は 12000 examples を越えていて、テストによっては稀に失敗する物が出てきています: 時間帯依存で失敗してしまうもの 他に同時に実行されるテストに依存しているもの (並列実行で組合せが変わり再現する) インテグレーションテストでの ajax リクエストの微妙なタイムアウト etc また、本番環境を壊さないよう、 CI で成功したリビジョンのみデプロイ可能となっており、開発者が push しデプロイしたいと思っている時に無関係な原因で失敗する事を避けたいという欲求があります。 なぜなら、再度ビルドを実行する時間 (およそ 10 分) の間待たされる事になるからです。 そこで、そのようなテスト起因での失敗を減らし、かつ開発者にそれらを修正してもらうた
前回はビルド設定とスキーマにより本番環境とテスト環境を数クリックで切り替えられる仕組みを説明しました。 今回はTestFlightによるアプリ配布と、Jenkinsを組み合わせてアプリ開発者以外でもアプリ配布ができるようになる仕組みの構築について説明します。 はじめに 背景と問題点 私がRettyで仕事を始めたとき、アプリを配布する仕組みは特になく、アプリの評価が必要になるたびに実機を借りてインストールを行い、評価をしていました。その後、会社のメンバーやインターンの数が増えてくるにしたがって、以下のような問題が出てきました。 評価を行うメンバーの全端末にそれぞれインストールするのが煩雑になってきた 開発者の数は増えたがiOS開発者は増えなかったため、インストール依頼の負荷がiOS開発者にかかるようになった 開発者の増加にともない開発環境が増え、ビルド設定とスキーマでカバーしきれなくなってい
はじめに はじめまして。(株)ミクシィの加藤和良です。2008年度に入社し、2011年1月からはシステム本部 技術部に所属しています。技術部は、日記やコミュニティといった特定のサービスに紐づかない、mixi全体を裏から支える部署です。「支える」ための方法は、実際のサービスの一部として動作する共通基盤から、開発効率を上げるために社内で動作しているものまで、多岐にわたります。 mixiでは、ここ数年で自動テストの導入が急速に進みました。図1は、mixiのソースツリーにおけるコードと、そのテストコードの毎月1日のバイト数をグラフにしたものです。2008年の頭には少なかったテストが急速に増え、今年の5月にはコード量をも追い越しているのがわかります。 携帯電話向けmixiである「mixiモバイル」の開始が2004年、mixiニュースが2006年ですから、2008年当時のmixiも、それなりに大き
CI(継続的インテグレーション)ツールの決定版、Jenkinsのすべてを解説する書籍です。インストール、サーバーの設定、ビルドジョブなどの基礎から、セキュリティ、コード品質、分散ビルドや自動化デプロイと継続的デリバリといった高度なトピックまで、Jenkinsを使いこなすのに必要な情報を網羅しています。さらに日本語版ではPlay! Frameworkを例としてJenkinsのプラグイン開発の手法を付録として収録。品質の高いソフトウェアを開発したいすべての開発者必携の一冊です。 目次 日本語版に寄せて 訳者まえがき はじめに 1章 Jenkinsの紹介 1.1 はじめに 1.2 継続的インテグレーションの基礎 1.3 Jenkinsの紹介(旧名Hudson) 1.4 HudsonからJenkinsへ――その略史 1.5 JenkinsとHudsonのどちらを使うべきか? 1.6 自分の組織への
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く