タグ

ブックマーク / deeeet.com (2)

  • Go言語のツールが最新バージョンであるかをユーザに伝えるためのgo-latestというパッケージをつくった

    Go言語のツールが最新バージョンであるかをユーザに伝えるためのgo-latestというパッケージをつくった tcnksm/go-latest Webアプリケーションとは異なり,コマンドラインツールやモバイルアプリはバージョンアップがユーザに委ねられる.そのため一度リリースしてしまうとバージョンアップをしてもらうのが難しくなる(バグを含めてしまった場合にロールバックもできない cf. “Mobile First Development at COOKPAD #deploygate”).とにかくしっかりテストをしてそもそもバクを含めないというのも大切だが,完璧なソフトウェアは存在しないので,アップデートは常に必要になる. モバイルアプリとは異なり,Go言語でツールを書いきバイナリとして配布した場合は,最新のバージョンがすでに存在していることをユーザに伝える仕組みはそもそもない.ので,最新のバー

    muto_masa
    muto_masa 2015/04/07
  • Docker+Serf+HAproxy (+Supervisor)

    Docker+Serf+HAproxy (+Supervisor) SerfでDockerコンテナのクラスタを形成する SerfでHAProxyの更新 on Vagrant でやったことを融合した.つまり,HAProxy(ロードバランサ)コンテナとWebサーバコンテナを立てて,Serfでそれらのクラスタを形成する.そしてWebサーバコンテナの増減に応じてHAProxyコンテナの設定を書き換えるということをやってみた. 基的には,上でやったことをDockerのコンテナに移行するだけだが,Dockerは1コンテナで1プロセスが普通であるため,複数プロセス(サービス)をどう扱うかが問題になる. Dockerで複数プロセスを扱うときには,Supervisorという選択肢がある.この方法は,公式で紹介されていたり,Foot Fightの“Docker in Practice”で言及されてたり,Ce

  • 1