lang: en | ja
![Dependency Update as a Service - Tachikoma.io](https://cdn-ak-scissors.b.st-hatena.com/image/square/eb28f82dba1499fd32fc4c53bbd0130d5cc26ae6/height=288;version=1;width=512/http%3A%2F%2Ftachikoma.io%2Fimages%2Factivate-age.gif)
事前に断っておくがここでいう「インフラ」はレイヤ的には OS より上の話。 少し前に GitHub 時代のデプロイ戦略 - naoyaのはてなダイアリー で、GitHub を介したデプロイを実践しているということを紹介した。普段の開発を Pull Request ベースでやっているので、デプロイもまた Pull Request を契機に実行させると色々捗る、という話。 このプラクティスの対象領域をインフラにまで拡大してみました、というのが今回の話。 DNS レコードを Pull Request を merge した契機に自動で更新 AWS を利用している場合、ドメインの管理も Amazon Route 53 を使うといろいろと都合がいい。 Route 53 での DNS レコードの更新はこれまでブラウザから操作していた。これだと誰がいつ作業したかわからないし履歴もトラックしづらい。また変更
はじめに 「開発者(個人)のための」としているのは、別に自分でやっても良いんだけど Jenkins に任せられるなら任せたい、くらいのモチベーションを表現したつもりです。 環境 Ubuntu 14.04 LTS Jenkins 1.573 Bootstrap になって雰囲気が変わりましたね 初期設定 Jenkins 初期設定 Plugin のインストール Git Plugin 依存しているPluginも自動的にインストールされます。 Git Parameter Plugin は、ビルド時に Extended Choice Parameter plugin の Single Select ようなパラメータ形式で、リビジョンやタグを選択できるプラグインです。 Git 初期設定 Git Install Git がインストールされていないなら、apt や yum でインストールしておいて良いでしょ
時間をかける つまらない想像話を以下に書く。 失敗してはいけない。成功しなければ行けないプロダクトだ。 企画から色々と実装アイディア、目的とするユーザー像を聞いている。 それに見合ったシステムを実装しなければならない。 あと6ヶ月で。その間は徹底的に企画と話をする。 部長と話しをして、駄目だったら作りなおす。 6ヶ月の間、エクセル上にガントチャートを引き、開発スケジュールを引いた。 企画・営業は2名。そのうち1名はマネージャ的な担当を行う。 部長は最終決定を下す(と聞かされている)。 エンジニアは3名。チームとしてはまあ良いほうだろう。 3ヶ月後 何を作っているのかわからなくなってきた。 具体像もわからない。 エクセルに書いたガントチャートは、意味を成していない。 ガントチャートを直そうと思うと、他の予定もずらさなければいけなくなり、 だるくなってだれも更新しようとしない。 システム全体の
全国1億2000万の Docker ファンの皆さんこんにちは。 MySQL の起動がとてつもなく遅いのは有名な話。 ところが Docker コンテナの起動はなかなか早いので、 MySQL を使っているようなテストを高速化するケースで有用性が認められるのではないかと思って PoC を書いてみた。 (宣伝)こういった話も含めて YAPC でトークしたいので SNS 等で upvote お願いします: ( ✌'ω')✌ 楽しいモデル層開発 - YAPC::Asia Tokyo 2014 (宣伝おわり) MySQL を使ったテスト MySQL を使ったテストをする場合、だいたい次の 2 パターンになる。 MySQL をテストのたびに起動してクリーンな状態で使う ローカルにデーモンとして起動した MySQL に接続して DROP TABLE や TRUNCATE でクリーンな状態にして使う だけど、
Transcript ΅͘ͷߟ͍͖͑ͨ͞ΐ͏ͷ։ൃϑϩʔ PHPฤ Yuta Adachi ࣗݾհ ҆ୡ ༐ଠ (@UAdachi) ! ग़ɿౡࠜݝদߐࢢ ͓ࣄɿChatWork ΠϯϑϥνʔϜ ! ڵຯ͋Δ͜ͱɿυϝΠϯۦಈઃܭɺScalaɺςχε (Οϯϒϧυϯ։࠵த) ! IUUQT���DJSDMFDJ�DPN ͓ॻ͖ • ։ൃϑϩʔΛ࠷దԽ͍ͯ͘͠త • ։ൃڥ • ίϛϡχέʔγϣϯ • CI • σϓϩΠ త ! • ։ൃͷߴԽ • ΦϖϨʔγϣϯϛεͷ༧ • ϓϩμΫτͷ্࣭ + ՄࢹԽ ։ൃڥ Ͳ͏ͬͯߏஙͯ͠·͔͢ʁ • Vagrantͬͯͬͯ·͔͢ʁ ϝϯςφϯε • ։ൃڥͩͬͯߋ৽͞Εଓ͚Δ • ߏஙखॱॻΛ࡞Δͷେม " εΫϦʔϯγϣοτʹҹॻ͍ͯɺઆ໌จΛఴ͑ͯ… ʮԶͷڥʯ ྫ. Aʮಈ͔Ͷʔʯ BʮԶͷڥͩͱಈ͘
Shin x blog Advent Calendar 2013 の 14 日目です。 PHP の高速な実行環境として知られる HHVM の新しいバージョン 2.3.0 がリリースされました。 今回のリリースでは、オープンソースプロジェクトの CI サービスとして人気の Travis CI へのサポートが発表されました。以前から Travis CI では、PHP 5.2 から PHP 5.5 の実行環境がサポートされていたのですが、ここに HHVM 環境が新たに加わることになります。 さっそく、Travis CI の HHVM 環境を試してみました。 Travis CI の設定 Travis CI 上で HHVM 環境でのテストを行う設定は簡単です。.travis.yml の php: に hhvm を追加するだけです。 php: - hhvm これで、次回のテストから hhvm 環境で実
GitLabは5月6日、オープンソースの継続的インテグレーション(CI)サーバー「GitLab CI 5.0」を公開した。ビルドを動かすRunnerコンポーネントを大きく改善するなどの強化が加わっている。 GitLab CIはプロダクトのビルドおよびテストを自動化するツールで、継続的インテグレーションを支援するもの。ビルドの管理を行うWebアプリケーション「Coodinator」と、ビルドを実行する「Runner」の2つのコンポーネントで構成される。 GitLab CI 5.0では、Rubyで実装されているRunnerで大きな変更が加えられている。これまではビルドスクリプトに記述されていた行ごとに個別のプロセスでビルド作業が実行されていたが、本バージョンではビルドスクリプト内のすべての行をまとめたファイルを作成し、これを1つのプロセスで実行するように変更された。これにより、たとえばcdコマ
少し前までアプリケーションのデプロイと言えば capistrano などをコマンドラインから叩いてデプロイ、みたいなことをやっていたが、最近は少し様子が違うのでそのやり方、KAIZEN platform Inc. での事例を紹介する。 GitHub のイベントを契機に CI as a Service にデプロイを担当させる GitHub で Pull Request を送って開発するのが前提になっているのは以前にも紹介した。 最近は Travis CI や CircleCI などに代表される CI (Continuous Integration) as a Service があって、CI も自分たちで環境を構築しなくてもクラウドに任せることができる。KAIZEN では CircleCI を積極的に使っている。 これらの CI as a Service は基本的に GitHub と連携するこ
当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。
前回の記事ではHubotのインストール、基本的な使い方やScriptの作成、Herokuへのデプロイの方法を紹介しました。 本記事ではIdobataというチャットサービスとHubot、外部サービスを連携し、チーム開発を円滑にする環境を構築していきます。 まずは導入後の開発環境の全体図を示します。最終的にIdobataでGitHub、Travis CI、New Relicなどのサービスからの通知を受け取り、Idobata上でコマンドを実行することでHubotを通じて外部サービスの情報を表示することが出来るようになります。 今回の環境は、Webアプリケーションをチームで開発するシーンを想定して構築してみました。(記事中では1人ですが...) Webアプリケーションは、Sinatraで作成したアプリケーションをHerokuにデプロイしています。また、前回と同様、HubotはHerokuにデプロ
1つのJenkinsの環境で複数のプロジェクトのテストが実行されることは、ままあると思う。Jenkins上で動作するすべてのプロジェクトが同時に動作するようにJenkins環境を整えるのは難しいことがある。あるプロジェクトのためにライブラリのバージョンを更新したことで、別のプロジェクトのテストが落ちるとか。 Ruby なら Bundler やrbenvを使って環境を切り替えるとだいたい解決するけど、libhogeみたいな共有ライブラリやBundlerやrbenv自体の更新とか、どうしても共有される部分はあって、だいたい普段は問題はないが、まれに困ると言う感じだと思う。 そこで、テストごとにDockerのコンテナを立ち上げてその中でテストを実行するようにすれば、環境を独立させることができるので、環境をこわさないように丁寧に設定するみたいなことに気を使わなくてよくなるので便利。 miyagaw
http://t-wada.hatenablog.jp/entry/debugging-tests 和田さーん! テスト駆動開発(TDD : Test Driven Development)は、プログラマが自分の不安を克服し、自分が書くコードに自信を持ちながら一歩一歩進んでいくための手法です。不具合の発生は、端的に言えばこれまでの「自信」を揺らがせる事態です。テスト駆動開発者は不具合にどう立ち向かうのでしょうか? やはりテストを書いて立ち向かってゆくのです。 チーム内にテストを書く習慣を持ち込んで三年、最初のうちは工数が増えるだけだ(あるある)、テストを書いても不具合がでるじゃないか(あるある)、システムテストでカバーすればいい(あるある)などという抵抗があり、それでも僕は淡々と雨の日も、晴れの日も、雪の日も、朝も夜も深夜も、終電後のオフィスでも、GW中の人気のないオフィスでも、自動テスト
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog LT の中で触れた環境を構築するデモコードを Vagrantfile にまとめて GitHub においていますのでよければ触ってみてください。ジョブ登録済の Jenkins が立ち上がるので全く同じ環境を試してもらえます。 yahoojapan/jenkins-with-docker-demo LT は5分でざっと流してしまったため、このエントリで補足します。 ジョブ実行毎にクリーンな環境がほしい 特に説明の必要もなく普段 Jenkins を使っていればジョブ毎にクリーンな環境がほしいと思うはずです。スレーブノードをジョブ毎に新規でインスタンスを立ちあげて実行することもできますが インスタンスの作成、起動はそれなりの時間がかかりま
Node.js Advent Calendar 2013 - Adventar 9日目です。 あまりネタを用意する時間がなかったので、GitHubにNode.jsのリポジトリを置いたりnpmにパッケージを公開したりしたときに便利な定番サービスを3つ紹介します。 Travis CI Coveralls David タイトルは釣りですが、特にTravisとCoverallsは一度体験すると離れられないぐらいほんとにlife changing。コードをpushしたらブランチのビルド結果をプルリクに表示してくれたり、カバレッジ結果をコメントで書き込んでくれるので、それを見ながらコーディングを進めていけます。これが無料なのは意味不明なぐらいの神です*1。 サンプルコードはこちらのプロジェクトで見てください。 Github: https://github.com/teppeis/fixclosure
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く