Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

CI/CD

CircleCI + Android UI Test スクリーンショットの確認仕組み

こんにちは、グノシー Android アプリの開発担当の Liang です。 この記事は Gunosy Advent Calendar 2023 の23日目の記事です。前回の記事は Naoto Koizumi さんの「CircleCIからGithub Actionsに大引っ越しした話」でした。 今回は CircleCI での自動化テ…

CircleCIからGitHub Actionsへ大引越した話

こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 この記事は Gunosy Advent Calendar 2023 の 22 日目の記事です。昨日の記事は TksYamaguchi さんの「Snyk を導入してコンテナセキュリティ対策の運用を回している話」でした。 本日は…

tfaction を導入したら便利だった話

この記事は Gunosy Advent Calendar 2023 の 14 日目の記事です。昨日の記事は上村さんの「ChatGPTを活用した業務支援ツール「ウデキキ」のチャット実装」でした。 こんにちは、プロダクト開発部 Ads チームの fujishiro です。最近は年末に行われる RIZIN.4…

コンテナがバタバタ死んだ障害と恒久対策

こんにちは。部署が変わってプロダクト開発部の広告担当のUTです。 今回は障害が発生した経緯とその障害に対してどう対策したのかというところを紹介したいと思います。 概要 どのような障害が起こったのか 障害発生詳細 恒久対応 障害の原因 自動ロールアウ…

GitHub Actions でテストを並列化して CI 時間を短縮する

広告技術部の yamayu です。 弊社ではこれまで CI/CD ツールとして CircleCI をメインに利用していたのですが、最近は GitHub Actions でも同等の機能が提供されるようになりつつあり、また GitHub の他の機能との連携が容易である等の理由から徐々に切り替…

Gradle + Kotlin + CircleCIによるAndroid Google Playデプロイの自動化

こんにちは、グノシーAndroidアプリの開発担当のLiangです。 この記事はGunosy Advent Calendar 2022の23日目の記事です。前回の記事は Rui さんの 広告レコメンドでIncrementalトレーニングを実践し、学習コストを大幅に削減した話 でした。 今回では、Andr…

管理画面にGitOpsを導入しました 〜DBマイグレーション編〜

こんにちは。広告技術部の yamaYu です。 広告サービスのバックエンド〜インフラを中心に触っています。 最近は専らパルデアの大地を駆け回る日々です。 今回の記事ですが、Kubernetes 上で管理している Rails 製システムの DB マイグレーションの扱いについ…

管理画面にGitOpsを導入しました 〜構成編〜

はじめに Argo CD とは リポジトリ戦略 ブランチ戦略 課題の解決 まとめ はじめに こんにちは、広告技術部の fujishiro です。普段は広告配信の API や管理画面の開発に携わっています。 さて、今回はその管理画面で下記の課題があったのですが、 Argo CD の…

A/B テストの管理基盤刷新とレポートの自動化(基盤編)

はじめに 既存の A/B テスト管理基盤の課題 新規 A/B テスト管理基盤 方針 構成概要 Go 言語による A/B テスト管理基盤の作成 validation 機能の整備 A/B テストの定義コードの自動生成 private package として A/B テストの定義コードを公開 A/B テストの設…

管理画面にGitOpsを導入しました 〜GitOpsとは編〜

はじめに 管理画面の課題 GitOpsとは Push型 Pull型 なぜPush型よりPull型なのか Push型のデメリット Pull型のメリット GitOpsにおけるPull型の構成 GitOpsで課題は解決されるのか まとめ 参考リンク はじめに こんにちは。広告技術部のjohnmanjiroです。普…