UMIHICO BLOG.
「Today I Learned」的なブログ
GithubのIssueでNotionのページを作って更新する
GithubのIssueの発行時に作成して、クローズ時にプロパティを変更するようにしました。
デフォルトブランチへのPRマージでIssueをクローズできるので、Issueベース、PRベースでNotionを更新できます。
一番粒度の小さいタスクをこのようにIssueで管理して、それらをNotion上のEpicなどでグルーピングして、エンジニア以外でも分かる粒度の進捗管理にあてれば手間や更新漏れのない管理ができると思いました。
また、検索に引っかけるためにIssue URLをプロパティに追加してますが、このおかげで完了したNotionページ見た時に起きる「このPRどれだっけ」問題がなくなりました。
NotionのFormula使ってパスからフルURL生成
整数のGithub Issue NoからIssue URLを生成したかった
if(empty(prop("Github Issue No")), "", concat("https://github.com/umihico/hoge/issues/", format(prop("Github Issue No"))))
調査用のEC2をサクッと立ち上げるterraformスニペット
ECSのアプリがRDSのDBにつながらない事態が発生し、どうも解決できないのでEC2を同じVPCに立ててRDSに接続できるか確かめてみることにしました。再利用できるようにメモ
prefixの一致するサブネットIDをカンマ区切りで取り出すワンライナー
aws ec2 describe-subnets --filters "Name=tag:Name,Values=COMMON_PREFIX_HERE*" --query "Subnets[].[SubnetId]" --output text | python -c 'import sys; print(",".join(sys.stdin.read().splitlines()))'
CircleCIのECSのOrbsに使いたかったが、そもそもCommandにしろJobにしろ引数は環境変数など静的にセットするか、circleci/continuationを使わないとダメそう
fixup,rebaseコマンドの自動化
fixupしたコミットを上から数えて10ならgit rebase -i --autosquash HEAD~10
とかやってましたが、rebaseもまとめてやるコマンド作った話
300GBあった「システムデータ」を削除した話
「このMacについて」→「ストレージ(タブ)」→「管理」から空き容量を作ることができますが、システムデータという編集が不可能な項目で300GB近く専有しており、削除までに調査が必要だった話
AWS LambdaでRailsのマイグレーションを秒殺する基盤を作った
aws-nukeで削除可能なリソースを調べたら、タスク定義が大量に残っていることが分かったたので、以下のコマンドで削除した。
Terraformで空のECRレポジトリを参照するApp Runnerをapplyしたくて辛かった話
別の新規プロジェクトに既存のTerraform資産を流用した時に、App RunnerとECRを一発で同時デプロイすることになりましたが、そうなると当然ECRのレポジトリは空なので失敗するわけで、次回スムーズに流用できる方法がないか試行錯誤しました
WEBフレームワークをDockerで作るワンライナー
Next.jsとRuby on RailsのプロジェクトをDockerを通じて環境依存せず指定した言語バージョンで構築する
シート名の先頭が一致する全シートを削除する(Google Spreadsheet)
某サイトからCSVのインポートをよく行うのですが、インポートしたデータを使った後に毎度足したシートが増えており、消すのも大変なのでスクリプトを書きました。
#CircleCI#Docker#React#Ruby on Rails
React on Railsで本番イメージをNodeレスにした
Nextとしてサーバーを建てるのではなく、RailsのViewからscriptタグでJS配信するだけなら、本番イメージ内にインストールする必要ないのでは?と思ったらできた話