Jest再入門 - マッチャー編
Jestはオールインワンのテストフレームワークです。 テストランナーだけでなく、各種マッチャーもJest内でExpect APIとして提供されています。 利用方法はJasmineとほとんど同じで、こちらの利用経験があれば戸惑うことはないはずです。 ここでは、よく利用するものについて筆者の独断でピックアップして、カテゴリ別にまとめます。 全てのマッチャーは以下公式ドキュメントを参照してください...
記事を読むJest再入門 - 導入編
JestはMeta(旧Facebook)社によって開発されたJavaScript向けのテストフレームワークです[1]。 Jestは、テストランナーからマッチャー、カバレッジ等のテストに必要な一連の機能が備わっています。また、それらのセットアップが非常に簡単であることから、現在のJavaScriptで最も多く利用されているテストフレームワークです...
記事を読むCypress Component TestingでVueコンポーネントの単体テストをする
E2Eテストのフレームワークとして有名なCypressですが、コンポーネントテスト(Component Testing)機能もあります。 このコンポーネントテストは2021-04-06にアルファ版として導入されていましたが、2022-06-01のCypress v10のリリースでベータ版に昇格しました...
記事を読むAmazon ECRのライフサイクルポリシーで開発環境向けのイメージのみ削除する
つい先日、EKSを利用している社内システムで、とあるPodが起動できない障害がありました。 単純な原因でしたが、恥ずかしながらECRのライフサイクルポリシーに関して理解できていなかったので、ここでは自戒の念を込めて投稿します。 原因 - ライフサイクルポリシー # 問題のPodの状態を探ってみると、PodからコンテナイメージのPullに失敗しているようでした。 さらに失敗原因を調べてるみると、コンテナレジストリ(ECR)に対象のイメージが存在していませんでした...
記事を読むSealedSecretsでKubernetesコンテナのシークレット情報をGit管理する
GitOpsが普及し、アプリケーションのソースコードだけでなく、インフラを含めた全ての構成情報をGitで管理して、ランタイム環境と同期を取ることが一般的になってきました。 そんなときに常に悩みの種となるのはシークレット情報です。 一般的にプロジェクトの資材にはデータベースのパスワードやAPIトークン、各種証明書等、Git管理に適さないものを含みます...
記事を読むTelepresence - EKSのワークロードをローカル環境でデバッグする
クラウド環境で動作しているアプリケーションのデバッグはどうしていますか? ローカル環境であれば、ローカルプロセスで起動したアプリに対してお気に入りのIDEで簡単にデバッグできますが、クラウド環境の場合はそうはいきません。 デバッグ用のコードを埋め込んでデプロイして、原因が分かったらコードを修正して、再びデプロイして。。...
記事を読む11tyで生成したマークダウン記事の画像を拡大する
早いものでデベロッパーサイトを開設して半年ほど経過しました。継続的に記事も公開し、もうすぐ100本に到達します。 今後は記事の執筆と並行して、サイト自体のUI/UX改善にも取り組んでいきたいと思います。 今回は改善要望として上がっていた記事の画像のズーム機能について対応しました。デベロッパーサイトなのでここではそのやり方も記事として紹介したいと思います。 現在このデベロッパーサイトでは、SSGツールのeleventyで、マークダウン記事をHTMLへと変換しています...
記事を読むFlagger と Ingress Nginx でA/Bテストをする
前回は、FlaggerとNginxのIngress Controllerを使ってカナリアリリースを試しました。 Flagger と Ingress Nginx でカナリアリリースをする 今回はA/Bテストの方を試したいと思います。 前回のカナリアリリースは、徐々にカナリアバージョンのトラフィック量を増やしながら切り替えていく形でした...
記事を読むFlagger と Ingress Nginx でカナリアリリースをする
Kubernetesはデフォルトではローリングアップデート(RollingUpdate)とPod再生成(Recreate)をデプロイ時の戦略として利用できます。 特にデフォルトのデプロイ戦略であるRollingUpdateは、ゼロダウンタイムで順次新バージョンをリリースさせていく方式ですが欠点もあります。 たとえば、Pod(アプリケーション)の起動には成功するものの、バグ等が原因で正常なサービスとして提供できていない場合です...
記事を読むBackstageで開発者ポータルサイトを構築する - カタログ作成
以前以下のブログでBackstageの紹介と導入に関する記事を書きました。 Backstageで開発者ポータルサイトを構築する - 導入編 今回はこの続きで、Backstageを利用して実際にコンポーネントを登録してみたいと思います。 ここでは、Backstageの以下のコア機能を利用します...
記事を読む