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