タグ

ブックマーク / int128.hatenablog.com (6)

  • GitHub Actions のコスト戦略 - GeekFactory

    TLDR 開発体験が良くなると CI のコストも減る 不必要なジョブ実行を減らし、割れ窓を直すことから始めると良い Self-hosted runners ではクラウドコスト最適化の一般的なプラクティスも併用する GitHub Actions のコスト構造 GitHub-hosted runners GitHub が提供するインフラを利用する。一般的なクラウドより高めの料金設定になっている 1分単位で課金される。ジョブの実行時間が数秒間でも1分間で課金されるので注意 Public repository は無料、Private repository は従量課金になっている Organization 内で利用料金が合算されて翌月請求される。Organization Owner なら請求レポート (CSV) をダウンロードできる Self-hosted runners GitHub では課金され

    GitHub Actions のコスト戦略 - GeekFactory
  • クックパッドにおけるScalable Deploymentsのスライドが興味深い - GeekFactory

    クックパッドにおけるアプリのデプロイの資料が非常に興味深いので紹介します.これは @sora_hさんがRubyKaigi 2014で発表 された資料で,100台以上のサーバに短時間でアプリをデプロイする仕組みをどうやって作り上げたのかが説明されています. 以前,スライドの内容を箇条書きにまとめていたのでシェアします.最近では,Jenkins User Coferenceの発表(How We Use Jenkins? // Speaker Deck)でほんの少し引用されていたりします. 内容のまとめ スライドは90枚あります.ざっくりまとめた内容を以下に示します. 概況 140サーバに1日10回のデプロイを実施している(ピーク時) コードベースが大きい モデルだけで約 69K LOC プロダクトコードとテストコードを合わせると約 319K LOC デプロイのルール CIのビルドが成功したリビ

    クックパッドにおけるScalable Deploymentsのスライドが興味深い - GeekFactory
    raimon49
    raimon49 2015/02/01
    over SSHなpushでなくデプロイ先からpullさせる。
  • Travis CIのContainer-based Infrastructureを試した - GeekFactory

    継続的インテグレーションしてますか? オープンソース開発の継続的インテグレーションにはTravis CIが便利ですが、ビルドが始まるまでに少し時間がかかるという欠点がありました。Travis CIはVMベースの分離技術を採用しているため、ビルドを要求してもCPUやメモリのリソースに空きができるまで待たされることがありました。 そこで、Dockerベースのコンテナでビルドを行う仕組みが先週から提供され始めました。公式アナウンスによると、ビルドの立ち上がりが非常に早くなり、さらに、より多くのCPU時間やメモリが使えるようになると書かれています。 ただし、現状ではビルドの中で sudo が使えません。また、好きなDockerイメージが使えるわけではなく、あらかじめ用意されたDockerイメージでビルドが実行されます。これらの制約は今後解決されていくようです。 では、どれぐらい早くなるんでしょうか

    Travis CIのContainer-based Infrastructureを試した - GeekFactory
  • SSH接続のコードをApache MINA sshdでテストする - GeekFactory

    Apache MINA sshd(以下sshd)を使うとJavaVMだけでSSHサーバを実行できます。あらかじめ定義されているインタフェースを実装するだけで、認証やコマンド実行を受け付けることができます。 稿では、SSH接続のコードをテストする場合にサーバサイドにsshdを使う方法を説明します。OpenSSHの環境を用意しなくてもSSHサーバを使ったテストが簡単に実行できます。ここではテストコードはGroovy + Spockで書いています。 準備編 sshdのライブラリをテストクラスパスに追加します。Gradleなら下記の依存関係を追加します。 dependencies { testCompile 'org.apache.sshd:sshd-core:0.9.0' } 次に、テストヘルパーを用意します。 具体的には、SSHサーバを起動するヘルパーメソッドを用意します。ローカルの空きポー

    SSH接続のコードをApache MINA sshdでテストする - GeekFactory
  • Gradleを開発プロジェクトで使うときのこと - GeekFactory

    G* Advent Calendar 2013の5日目です。今日はGradleを開発プロジェクトで使う時に考えることを書いてみます。いわゆるビルド職人の仕事をゆるふわに考えてみたいと思います。 対象はJVMベースのWebアプリとバッチアプリとします。記述言語はJavaを想定していますが、Groovyでもだいたい同じです。 プロジェクトの構造 稿では以下の前提で話を進めます。 プロジェクトは複数のアプリから構成されます。 アプリは複数のモジュールから構成されます。 アプリはそれぞれ異なるサーバで実行されます。 どのモジュールをどのアプリに含めてどのサーバに配置するか、といった依存関係はすぐに複雑化してしまいます。Gradleのマルチプロジェクト構成を使うことで、依存関係やタスクを整理できます。 アプリ 依存するモジュール ほげほげWebアプリ ・ほげほげWebアプリ ・モジュールA ふがふ

    Gradleを開発プロジェクトで使うときのこと - GeekFactory
  • 海外挙式を支える技術 - GeekFactory

    2012年3月、グアムで結婚式を挙げました。 良かったことや苦労したことを振り返ってみます。これから海外挙式を考えている方のお役に立てれば幸いです。 はじめに 結婚式は立派なプロジェクトです。共同作業をしながら期日までに成果を出さなければなりません。プロジェクトマネジメントの力量によって成果は大きく変わると思います。 奥様はプロダクトオーナーです。結婚式にかける情熱は大きく、多くのことを知っています。ゼクシィでドメイン知識を得て対等に話せるようになるにはかなりのパワーが必要です。 私たちは以下の理由から海外挙式を選びました。 新郎新婦ともに上京して地元が離れている。 新郎新婦で共通の友人が多い。 両親に海外旅行プレゼントしたい。 海外挙式ではゲストに遠方からお越しいただくことになります。したがって、プロジェクトのスコープは挙式だけでなくツアー全体です。自分たちの結婚式を頑張るだけでなく、

    海外挙式を支える技術 - GeekFactory
    raimon49
    raimon49 2012/05/06
    プロジェクト化
  • 1