タグ

ブックマーク / h3poteto.hatenablog.com (4)

  • golangでテストをする - PartyIX

    最近golangを結構書いています. コンパイルも割と速いし,実行速度は言うまでもなく速い. クラスがないとか,例外がないとか,色々と言いたいことはあるでしょう.思想的には結構独特ですが,なれると普通に書けます. 今日はそんな中でテストの話をしようと思う. やっぱりBDDがいい golangにはテストをするための,testingというパッケージがある. golang.jp 使い方はこの辺の記事が参考になるでしょう. qiita.com assertがないというのが,結構主題かもしれない. ただ,使い方を見てみればわかる通り,これはExampleのテストでしかない. 個人的な意見なのだけれど,やっぱりパターンが複雑になればなるほど,分岐が多くなり,前準備が複雑になる. どうしてもBDDを導入したかったので,ginkgoを入れてみた. github.com matcherにはgomegaという

    golangでテストをする - PartyIX
  • phoenixアプリケーションをDockerでデプロイする - PartyIX

    最近phoenix(elixir)を使っている. まぁelixir自体の話は,いろんな記事でおすすめされているのでそちらを参照してもらうとして,これをDockerに載せたいなーと思ったので. なんでDockerに載せたいのか erlangとelixirの環境構築を毎回やりたくない っていうのがすべて. そういう意味では,別にchefでもよかった. ただ,最近は開発環境はみんなDockerにしていて,家のLinuxでもほとんどDockerしか使っていないので,できればみんなDockerにしておきたい. 開発環境をDockerに これは割と楽で,ふつうのことしかしない. elixirは公式でもdocker imageを配布しているので,そちらを使わせてもらう. FROM elixir:1.3.4-slim ENV APP_DIR /var/opt/app RUN set -x && \ apt

    phoenixアプリケーションをDockerでデプロイする - PartyIX
  • Dockerに載せたサービスをホットデプロイする - PartyIX

    みなさん,Docker使ってますか? 開発環境に導入する話はよく聞きますが,Dockerで運用してますか? 番をDockerにする上で障壁になりそうなホットデプロイ. 普段,コンテナではなくインスタンス上で直接サービスを動かしている限り,そこまで苦労はしていないんじゃないだろうか. たとえば,Railsであればunicornなどは,graceful restartに対応している. そのため,デプロイの際にサービスを止めずにデプロイすることができるのは,当たり前のことに思える. しかし,Dockerとなると,ポートという障壁が出てきて,一筋縄ではいかない. ECSのような楽な解決方法がある一方で,Docker swarmを使うようなシーンでは,やはり一筋縄ではいかないのではないだろうか. お題 番にDockerを導入するにあたり,以下のような環境を前提として試していた. 中に入れるの

    Dockerに載せたサービスをホットデプロイする - PartyIX
  • github.comに22番ポート以外でアクセスしてソースを取得する - PartyIX

    githubはなかなかに便利で,ソースを上げることが多い. そしてサーバー運用時にも,そこからソースを取ってきてデプロイできるように組んでいたりすることがある. ただし,気を使うのが非公開のプライベートリポジトリだ. プライベートなので,ログインしないとソースにアクセスできない. そのため,普段の開発環境であれば,ユーザ名とパスワードを入力したり,鍵認証できるように用意してしまったりしている. しかし,これらの通信は要するにsshなので,基的には22番ポートを使用している. ここで問題になるのが,割とサーバーによっては22番が空いてなかったり!ということがある辺りだ. そいういう運用サーバーでも,ソースはgithubから取りたいときに便利なのが,443. なにしろhttpsで普通に使うポートなので,だいたい開けておく場合が多い. 443ポートを通してgithub.comにログインさせる.

    github.comに22番ポート以外でアクセスしてソースを取得する - PartyIX
  • 1