All Posts

  • Published on
    Ngrokと同じことをするのに何が必要かというとこれだけでした。 - リモートポートフォワードでSSHする - Nginxでフォワードされたポートをインターネットに公開するよう設定する EC2の起動テンプレートをterraformで作り、起動テンプレから立ち上がったサーバーはあらかじめ仕込まれたユーザーデータのスクリプトで自動でNginxや必要なセットアップを行うようにしました。
  • Published on
    調べてみると`Rake::Task.tasks.each`で全タスクにenhanceする例が多く見つかったが、そうなると:environmentなど継承先のタスクにも付与されるからか、なぜか私の環境では実行したいタスクより先に実行されてしまった。 これを防ぎ正しく後から実行するには`Rake::Task[Rake.application.top_level_tasks[0]]`と指定する必要があった
  • Published on
    モノレポ運用をしてるPJにて、導入寸前まで思案したcircleci/path-filteringというorbsですが、導入を諦めた懸念点をメモします
  • Published on
    CIのビルド時にECRからキャッシュ用にイメージをプルするパターンは多いと思いますが、その際は簡単に最も日時が新しいイメージが選ばれがちかと思います。 しかし「最新のイメージをとる」方法では複数のブランチで複数人が交互にプッシュする状況で、例えば片方がnode_modulesなど依存関係に変更を加えるものであると、互いのキャッシュを活かせないことになります。 この解決法は「最新のイメージをとる」ことではなく、「自身のコミットログと一致する範囲での最新のイメージをとる」ことです。そうすることで、まだマージされてない他所のコミット(イメージ)をスキップして、自身の直系の先祖にあたるコミットのイメージをプルしますので、キャッシュ効率が高くなります。