タグ

CIに関するhush_inのブックマーク (34)

  • Claude Code Action によるレビュー体制を導入して約 1 ヶ月が過ぎた

    結論としてはとても良い。今後も継続していく。 自社のリポジトリに Claude Code Action を利用してレビューの仕組みを導入して、約1ヶ月が過ぎた。 この Claude Code Action (以降 LLM) によるレビューの何が良いのかというと「レビューを依頼するコストがゼロ」というのが一番良い。 人にレビューを依頼する場合、人の時間を奪う事と感じてしまう人が多い。そのため「ある程度出来てから」や「余裕ある時にレビューして」という依頼になりがちだが、LLM によるレビューの場合は 24/365 いつ依頼しても不機嫌になることもないし、厳しいレビューを依頼すれば厳しくレビューしてくれる。さらに早い。数分で終わる。 もちろん設計まで踏み込んでしっかりレビューしてくれるわけではないので、そこは人のレビューが入る必要がある。ただケアレスミスなどは、ほぼ確実に潰せる。 ちょっとコード

    Claude Code Action によるレビュー体制を導入して約 1 ヶ月が過ぎた
  • さよなら Flaky Test!Devinと共に実現する、CI安定化への道 - Timee Product Team Blog

    タイミーでは、Flaky Test がデプロイの妨げになることで開発効率が悪化していました この問題を解決するため、AI エージェント「Devin」を活用し、Flaky Test の検出から修正プルリクエストの作成までを完全に自動化しました 結果、CIは安定し、開発者は来の業務に集中できるようになったことで、開発体験が向上しました こんにちは!タイミーでバックエンドエンジニアとして働いている 福井 (bary822) です。 皆さんは Flaky Test に悩まされた経験はないでしょうか? タイミーでも、Flaky Test によって CI の信頼性が低下し、開発者の貴重な時間を奪ってしまうという課題を抱えていました。 ある期間においては master ブランチにおけるテスト実行の 4.5% が Flaky Test によって失敗しており、20+回/日 の頻度でデプロイされていることを

    さよなら Flaky Test!Devinと共に実現する、CI安定化への道 - Timee Product Team Blog
  • GitHub Self-hostedに移行しました。CIが最大55%速くなり、月額が300万円節約できた!

    こんにちは、SODAのSREチームのDucと申します。 GitHub Actionsのコストを削減しながらCIワークフローを高速化したの工夫をご紹介します。 背景 私たちのチームは、snkrdunk.comサイトとSNKRDUNKモバイルアプリの可用性とパフォーマンスの維持に注力しています。 それに加えて、クラウドインフラストラクチャやその他の監視・開発ツールのコスト管理も担当しています。 毎月、AWSGitHubなどのインフラストラクチャとツールの請求書をチェックしています。 GitHubの請求額が非常に高いことに気づきました。特にGitHub Actionsの部分です。 参考までに、GitHub Actionの使用量とサーバーの番ワークロード費用の比較をご紹介します。 Fargate: Savings Plan適用で月額約$7,000。私たちのサービスは平均約5000リクエスト/秒

    GitHub Self-hostedに移行しました。CIが最大55%速くなり、月額が300万円節約できた!
  • 「スマートリポジトリ」という概念について

    以下の記事を書いた 内容としては 「n8nを利用してラベルが貼られたタイミングでwebhookが起動し、自動で@Claudeのコメントをする」というもので 仕組みとしては非常に単純で多分そんな難しくないし、Github Actionなどでおそらくやっている方もいたと思う 「開発のパイプライン化」という標語をすえて、PMや非エンジニアから使いやすいPJ管理ベースの環境を構築したいという目的だった たださらに深掘りした時に、以下のような使い方ができると思った これはどういうところから着想したかというとnaoyaさんのツイートから これらをまとめることで「スマートリポジトリ」という概念に辿り着いた。 もちろんCI/CDが回っている時点である程度自律的に問題を解いてもらえたりエンジニアの助けにはなるが、LLMやAIエージェントを組み込むことでさらに「賢い」リポジトリになるということ。 以下に定義を

    「スマートリポジトリ」という概念について
  • GitHub Actionsを可視化するGitHub Actions OpenTelemetryの紹介 - ともにかける

    GitHub Actionsはワークフロー全体の実行時間や各ステップの詳細な可視化、変更による効果測定を行うには工夫が必要となります。この記事では、OpenTelemetryを活用してGitHub Actionsの実行結果をトレースとメトリクスの形で収集するGitHub Actions OpenTelemetryを紹介します。どのステップに時間がかかっているのか、改善施策の効果がどの程度あったのかを把握しやすくなるため、ワークフローの継続的な改善を目指す方に役立ちます。 Trace Sample (Jaeger) 1. GitHub Actionsにおける課題 1-1. ワークフローの詳細を可視化する方法が提供されていない 1-2. ワークフローの変更による影響を分析しづらい 2. GitHub Actions OpenTelemetryとは 2-1. 概要と主な機能 2-2. OpenT

    GitHub Actionsを可視化するGitHub Actions OpenTelemetryの紹介 - ともにかける
  • Jenkins作者の川口氏が立ち上げた「Launchable」、CloudBees社による買収を発表。JenkinsベースのCI/CDプラットフォームにAI機能を統合へ

    AIを用いてソフトウェアテストの最適化を実現するソリューションを提供する「Launchable」は、JenkinsをベースとしたCI/CDプラットフォームを提供する「CloudBees」に買収されたことを発表しました。 Jenkinsの作者である川口氏が立ち上げたLaunchable Launchableは、オープンソースのCI/CDプラットフォームであるJenkinsの作者 川口耕介氏が共同創業者として立ち上げた企業です。 参考:ソフトウェアテストの実行を機械学習で効率化する。Jenkins作者の川口氏が立ち上げた「Launchable」で実現しようとしていることとは(前編) Launchableが提供するソリューションは、膨大な項目になるソフトウェアテストをAIを用いて優先順位付けし、全てのテストを実行するのではなく必要十分なテストのみに絞り込んで実行することで、テストサイクルを短縮し

    Jenkins作者の川口氏が立ち上げた「Launchable」、CloudBees社による買収を発表。JenkinsベースのCI/CDプラットフォームにAI機能を統合へ
  • なんとなくから脱却する GitHub Actionsグッドプラクティス11選 | gihyo.jp

    記事のテーマはGitHub Actionsです。個人的に「もっと早く知りたかった!」と考えているグッドプラクティスを、厳選してお届けします。想定読者は次のとおりです。 普段GitHub Actionsを雰囲気で運用している人 GitHub Actionsをコピペや生成AIで乗り切っている人 他者が書いたコードの意味をより深く理解したい人 記事でGitHub Actionsの基は説明しません。グッドプラクティスを含めて基礎から学びたい人は、拙著『GitHub CI/CD実践ガイド』を読んでみてください。GitHub Actionsの基構文から運用のコツまで、網羅的に解説しています。さて書籍紹介はこれぐらいにして、さっそく題へ進みます。 GitHub Actionsの設計指針 GitHub ActionsはCI/CDや各種自動化で役立つ、汎用的なワークフローエンジンです。一般的に長期

    なんとなくから脱却する GitHub Actionsグッドプラクティス11選 | gihyo.jp
  • ファインディでのGitHub Actions活用事例

    https://findy.connpass.com/event/326645/

    ファインディでのGitHub Actions活用事例
  • CI/CDのデータを収集するCIAnalyzerの紹介

    去年のGWにCIAnalyzerというツールを作成し、プライベートと仕事の両方で1年ほど活用してきました。今年の9月にCI/CD Conference 2021にて実際の活用事例を紹介させて頂きましたが、発表時間の都合上CIAnalyzer自体の使い方まで紹介はできなかったためブログにしました。 CIAnalyzerを作成したきっかけ 今の自分の仕事は社内のCI/CDの基盤を整えるのと同時に、ビルドエンジニアの真似事のようなことをしています。この分野のサポートをしていると開発を主にしているエンジニアの方から 「ビルドが遅いし、頻繁に壊れる」 「テストは時間がかかるし、いつも失敗している」 という話を聞く機会がありました。ですが、自分としてはとても意外なことにその実態を定量的に把握することはほとんどできませんでした。 もちろん短期的であれば把握できます。昨日のデプロイはN分かかったとか、ma

    CI/CDのデータを収集するCIAnalyzerの紹介
    hush_in
    hush_in 2024/08/31
  • フロントエンドのLinterやCIを改善した話

    この記事は 株式会社エス・エム・エス Advent Calendar 2023 の21日目の記事です。 介護事業者向けの経営支援サービス「カイポケ」のリニューアルプロジェクトフロントエンド開発をしている @hush_in です。 今年の4月にエス・エム・エスに入社しました。 入社してからフロントエンドLinterやCIを改善した話をします。 忙しい人向けまとめ ESLint の recommended 系 extends を追加 全般 eslint:recommended plugin:import/recommended TypeScript plugin:@typescript-eslint/recommended-type-checked plugin:@typescript-eslint/stylistic-type-checked plugin:import/typescri

    フロントエンドのLinterやCIを改善した話
    hush_in
    hush_in 2023/12/21
    セルフブックマーク
  • RailsアプリのCI高速化

    参加しているプロジェクトで、RailsアプリのCIの高速化を行った。 まだ進行中の部分も幾つかあるが、結果から言うと、元々8分前後だったテストが3分半程度に短縮された。行った作業を幾つかの観点に分け、どのように高速化を行ったか、どの程度高速化されたか等を記述する。 プロセス数とマシン性能の調整 元々は2コア1プロセス4マシンで8分程度掛かっていたが、8コア8プロセス1マシンに変更することで5分程度に短縮された。 このプロジェクトではCIにGitHub Actionsを利用している。GitHub Actionsではデフォルトで2コアのマシンが利用されるが、Large runnerを利用して8コアに変更した。コア数を2倍にした代わりにマシン数も半分に減らしたので、結果的に費用は変わっていない。 また同時に、8プロセスで並列実行するためにparallel_testsを導入した。このプロジェクト

  • ソースコードのハッシュ値を利用したCIの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、kintoneチームの川向です。 ソースコードハッシュ値計算ツールであるsverを導入してCIの高速化を行ったので、その紹介をさせてください。 この仕組みにより、通常は1時間かかるCIの実行時間が最善のケースでは20分程度に短縮可能になりました。 導入前の課題 解決方法の検討 sverを使ったテストのスキップによるCI高速化 kintoneでのsverの利用方法 sver設定ファイルの書き方 キャッシュの保存先(GitHub Actions Cache、Amazon S3) sverを使ったジョブの書き方 sver情報生成ジョブ: ハッシュ生成とキャッシュの存在確認 ビルドジョブ: 依存ファイル以外に依存しないことの確認 テストジョブ: ジョブ成功後にキャッシュ保存 下流ジョブのifの書き方 結果 課題と今後の展開 まとめ 導入前の課題 kintoneのCIの大まかな構成は以下

    ソースコードのハッシュ値を利用したCIの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • ジョブを細かく分けてGitHub Actionsのテストを効率化する

    改善戦略 実行のタイミングやGitHubの状況や依存サーバーのネットワークの状況によって変動はあるものの、早くて7分、だいたい10分〜15分くらいかかっている。早いか遅いかは、他の開発と比べても内容や状況が違うのでなんとも言い難いが、個人的な感想としては「遅い」。というより、一切の工夫をしていなかったので、もっと早くできるはずだと考えた。 ビルドされたファイルを複数の環境で共有する 処理全体の中で時間がかかっている処理は3つ。 依存パッケージのインストール ビルド テスト さらに、課題の一つとして「テスト実行時に開発用依存パッケージ(devDependencies)がインストールされているせいでテストが失敗しない問題がある」というものがあり、これを処理に追加しないといけない。 開発用依存パッケージのインストール ビルド 依存パッケージを一旦すべて削除 番用依存パッケージのインストール テ

    ジョブを細かく分けてGitHub Actionsのテストを効率化する
  • TypeScript・モジュラーモノリスによる型安全なWebサービス開発

    こんにちは。SALESCORE株式会社CTOの成澤です。 祝・Publication機能のオープンβリリース🎉🎉 ということで、SALESCOREのテックブログを発信し始めます! テックブログの一発目ということで、2022年で一番開発体験が変わったTurborepoによるモノレポ・モジュラーモノリスによる開発について紹介します。 今後もTypeScriptでのWebサービス開発について記事を出していく予定なので、気になる話題などあればコメントいただけるととても嬉しいです🙋‍♀️ モジュラーモノリスという選択肢 ソフトウェア開発における重要な要素の1つは抽象化です。 抽象化をあえて噛み砕いて、平坦な言葉で言うならば 「適切なグルーピング」 と呼んでも良いでしょう。抽象化とは、ものごとをグルーピングして、適切な名前を与えることです。 100行の処理の羅列は分かりづらいが、10行ずつグルー

    TypeScript・モジュラーモノリスによる型安全なWebサービス開発
  • フロントエンドエコシステムで効率化する組織開発

    jsconf 2022

    フロントエンドエコシステムで効率化する組織開発
  • テックリードとして入社してからやったことをまとめてみた。 - Qiita

    現在の会社にテックリード(1人目の正社員エンジニア)として入社して、2年間やってきたことを書いています。 エンジニア二年目でテックリードとして試行錯誤してきて、自分の振り返りもしたいという思いから記事を書きました。 (前提として、シード期のスタートアップで実行してきたことです。) 入社時のチーム課題 入社当時は、2週間単位のスプリントでスクラムを回してましたが、全員が業務委託だったこともあり、完全な内製化を進める必要があり、主な課題は以下でした。 継続的リリースが困難な状態になっており、それを解消することが急務 社内にエンジニアがいなかったので、開発組織体制づくりが必要だった。 ウォーターフォール寄りのリリースが多く、継続的にリリースする文化がなかった。 リファクタリングやテストコードが不十分だった。 改善したこと Zenhubを導入 それまでは、GitHub Projectで進捗管理をし

    テックリードとして入社してからやったことをまとめてみた。 - Qiita
  • Next.js 製 Web フロントエンドの CI ビルド時間を 1/3 にした話 - スタディサプリ Product Team Blog

    こんにちは、 Web フロントエンドエンジニアの @progfay です。 今回は PR に紐づいたプレビュー環境のビルドに 10 分半かかっていたところを 3 分半ほどまでに短縮した改善活動についてお話しします。 技術改善 Day 私の所属するスタディサプリ中学講座の開発プロジェクト (通称: tara) では「技術改善 Day」を 2 週間に 1 回実施しています。 「技術改善 Day」とは、案件開発を進めていく中で出てきた技術的負債の解消に丸 1 日チームで集中して取り組む日です。 tara 内の Web フロントエンドメンバーで解消したい技術的負債を考えたところ、その中の一つに Web フロントエンドアプリケーションのビルドに時間がかかっている問題 が挙がりました。 tara プロジェクトではデバッグや QA を効率的に行うために PR ごとに紐づいたプレビュー環境を用意しています

    Next.js 製 Web フロントエンドの CI ビルド時間を 1/3 にした話 - スタディサプリ Product Team Blog
  • GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み - Uzabase for Engineers

    NewsPicks でサーバーサイドエンジニアを務めている池川です。 サービス運営をされている会社さんであれば、どの会社さんでも何らかの障害を起こし、その対策のための MTG を実施されていると思います。 が、サービスを長く運営していると、過去に発生してしまった事故と似た事故を発生させてしまうということが往々にしてあります。 NewsPicks でも、そのような事故が発生し、どうしたものかということが MTG での話題にのぼりました。 そこで、 NewsPicks ではそのような事故を風化させないための取り組みとして、事故が発生しそうな PR に対して、 GitHub Actions を用いて注意をうながすメンションを投げるワークフローを設定しました。 簡単な取り組みとなっているので、ご参考になれば幸いです。 背景 使用したツール 処理フロー GitHub Actions での実装 実際の

    GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み - Uzabase for Engineers
  • TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO

    TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイし、トリガーを使った定期実行をしてみました。 @google/clasp を使うことで CLI で Google Apps Script (GAS) を扱えるため、コードを Git で管理できるようになります。 今回はコードを GitHub で管理し、テストと clasp push を Github Actions で実行できるようにしてみます。 最終的な完成物は下記のリポジトリになります。 https://github.com/hbsnow-sandbox/clasp-github-actions-exampl

    TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO
  • 意識的に職位を下げる - id:onk のはてなブログ

    僕はチーム join 時に、Docker は初手で剥がすし、GitHub Actions でやっているワークフローの全体像を把握するのを次に行う、というのを基的にはやっている。これはシステム構成やデプロイ周りの全貌を把握するのが好きなのと、何かが起きたときにコレをやっているのといないのとで問題切り分けの精度に圧倒的な差があるからなんだけど、join 直後にやるのが最適解とは限らない場面もある。 チームの人員構成として、テックリード業を既に担っている人が居る場合、追加人員にはテックリード未満の「プラスの工数として数えられる戦力」となって欲しい。この戦力というのは、「目の前に積み上がった問題を一緒に解いて欲しい」という期待。問題と言うよりも、既にタスクになっているものを消化したい、という期待の方が大きいと思う。 そういう期待があるときには、ちんたら Docker を剥がしている場合ではなく、

    意識的に職位を下げる - id:onk のはてなブログ