CircleCI 1.0でDockerやdocker-composeを使用する際の制限と気をつけること

こんにちは。
かれこれ1年くらい仕事でCircleCI + Dockerを使ってみているのですが、 とにかくツラい
CircleCI + Docker構成でCIしたい方はだいぶマゾいとすら思います。
他のCI系のサービスどうなんだろうと調べつつも、これまで戦ってきたノウハウは備忘録として残そうと思います。

なにがツラいかというと、

という構成だと、色々なDockerに関する操作が動きません。
ローカルでは動くので、基本ドはまりする要素満載です。
さらにdocker-composeでブラックボックスに包むと、余計にわけがわからなくなります。

ということでハマったことと、CircleCIでDockerを扱うための基本戦術を残します。

RubygemsへのデプロイをCircleCIで自動化してみた

ActiveResourceでChatworkのAPIを叩くgemを作ってみました。
これが初めて作ったgemなのですが、手で運用すると色々忘れそうな感じがした。

ライブラリのメンテはただでさえ手がかかるので、パッケージ管理サービスへのデプロイくらい手を抜きたい。
ということで、GithubのmasterブランチにpushされたらCircleCIを使って自動でgemをデプロイする設定をしてみました。