今日のインプット/アウトプット #12 2024-08-23

ルール

  • 毎日何かしら記録する。

  • どんな些細なことでもOK。レベル感気にしない

  • 書いたらtwitterにでもポストしておく

毎日、、と書いておきながら3日ぶり。。
振り返ると大きめのリリース続きで余裕がなかったように思う。
ハードルは下げてるので毎日やろう。改めて。

Duolingo

208日目

noteは書けずとも、これは継続できている。
隙間にサクッとできるありがたさ。

GitHub CI/CD実践ガイド

5章 運用しやすいワークフローの設計

ロギング

re-run時にdebug logを有効にできる

たまにre-runはしてたが、このcheckbox目に入ってなかった。

debugと紫で表示されてるのがそれ。
前述のcheckboxでもいけるし、VariablesにACTIONS_STEP_DEBUGをtrueに設定してもいける

ランナー診断ログ

ちょっとわかりづらい場所

ACTIONS_RUNNER_DEBUGというVariablesを設定して実行後、
歯車アイコンから、Download log archive でランナー診断ログが落とせる。
(中身見たけど、詳細すぎて用途がまだつかめていない、パフォーマンス・チューニングのヒントとかになったりするんだろうか)

ロググループ

ワークフローコマンドというものがあり、echo経由で特殊な操作ができる。

::workflow-command parameter1=<data1>,parameter2=<data2>::<command value>

groupとendgroupを使って、ログのグループ化ができる

            echo "::group::Show environment variables"
            printenv
            echo "::endgroup::"
            echo "::group::Show hoge fuga"
            echo "hoge"
            echo "fuga"
            echo "::endgroup::"
            echo "::group::Show environment variables"
            echo "aida ni hasandara"
            echo "::endgroup::"

こういうのを仕込んでおいた結果が↓

group ~ endgroup の間のログはグルーピングされて見やすくなる。
同じ名前を別の箇所に指定してみた(Show environment variablesを2回)けども、それがまとめられたりはしない。

ECS capacityProviderStrategy

ECSの起動タイプにFARGATEとFARGATE_SPOTがある。
FARGATE_SPOTはAWSが余剰リソースとして持っている未使用のキャパシティを利用してコンテナを実行する。オンデマンドより割安。
その代わり、中断することもあるため開発環境などの許容できる環境での使用が望ましい。

で、昨日リリースした本番用のサービスがSPOTになっていた。
特になんてない時間にヘルスチェックがこけるアラートがあり、他エンジニアが気づいてくれた。
ecs update-serviceでオンラインでFARGATEに切り替えもできたので、大きく影響なく変更してもらえた。

service作成時の定義を開発環境のものを元に作成した際の漏れである。
戒めとしてここに記録。

ふりかえると、セキュリティグループなどの設定に気を取られて抜けていたのかもしれない。

プロポーザル

なにかだす。出すだけはタダ。ネタ。。。
さっそくネタ出しに苦しんではいるが、ひねり出す。

この記事が気に入ったらサポートをしてみませんか?