並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 88件

新着順 人気順

actionsの検索結果1 - 40 件 / 88件

  • 期限の制約なく無料で使えるクラウド「Free Tier」主要サービスまとめ。2023年版

    いくつかのクラウドサービスでは、新規ユーザーに対する1年程度の無料トライアルや一定額のクーポンなどの提供だけでなく、期間の制限なくずっと無料で使える、いわゆる「Free Tier」や「Always Free」と呼ばれるサービスが提供されています。 こうしたサービスは試行用の環境や一時的なテスト環境、あるいはホビー用途などに適しています。 本記事では期限の制約なく無料で提供されている主なクラウドサービスを、2023年版としてまとめました(新規ユーザーとして期限の制約なく無料で使えるものを優先しています)。 ただしこれらの無料のサービスは、提供側の都合によって申し込みや利用が制限されたり、もしくは提供自体が終了したりすることがあります(昨年、多くのITエンジニアに人気であったHerokuのFreeプランが終了したことをご記憶の読者も多いでしょう)。 無料のサービスを利用する場合には、そうした提

      期限の制約なく無料で使えるクラウド「Free Tier」主要サービスまとめ。2023年版
    • 社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング

      この記事は、Merpay Tech Openness Month 2023 の4日目の記事です。 こんにちは。メルコインのバックエンドエンジニアの@goroです。 はじめに このGitHub Actionsのセキュリティガイドラインは、社内でGithub Actionsの利用に先駆け、社内有志によって検討されました。「GitHub Actionsを使うにあたりどういった点に留意すれば最低限の安全性を確保できるか学習してもらいたい」「定期的に本ドキュメントを見返してもらい自分たちのリポジトリーが安全な状態になっているか点検する際に役立ててもらいたい」という思いに基づいて作成されています。 今回はそんなガイドラインの一部を、社外の方々にも役立つと思い公開することにしました。 ガイドラインにおける目標 このガイドラインは事前に2段階の目標を設定して作成されています。まず第1に「常に達成したいこと

        社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング
      • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

        はじめにTIG真野です。育休明けです。 フューチャー社内のタスクランナーはmakeやTaskなど複数の流派があり、チームによって使い分けられています。個人的にはmakeで良いんじゃないかと思っていますが、Taskも良いですよね。 makeは細かい記法をいつも忘れる+調べるとC言語向けの情報が出てきて脳内変換に手間を感じたため、makeを用いてWebバックエンドアプリをGoで開発するということをテーマに、役立ちそうな情報をまとめます。 なお、今記事におけるmakeは、GNU Makeを指します。バージョンは以下で動かしています。 MakefileのためのEditorConfigMakefileのインデントはハードタブである必要があります。誤りを防ぐためにもEditorConfigを設定しておくと良いでしょう。 makeは通常、Makefileという名称をデフォルトで認識しますが、同一フォルダ

          Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
        • エンジニア全員が Terraform を安心・安全に触れるような仕組みを整えています - VisasQ Dev Blog

          はじめに こんにちは!DPE(Developer Productivity Engineering)チームの高畑です。 ちょっと前に iPhone 15 Pro に変えてようやく USB-C ケーブルに統一できる!と思っていたら、手元にある Magic Trackpad が Lightning ケーブルでしょんぼりしました。 さて今回は、ビザスクのインフラ周りで利用している Terraform をエンジニア全員が安心・安全に利用できる仕組みづくりを行なっている話をしていきます! これまで ビザスクではインフラの構築・運用に Terraform を利用しており、依頼ベースで DPE のメンバーが Terraform の修正を行なってレビュー&リリースをしていました。 開発メンバーから Terraform の PR をあげてもらうこともありますが、plan / apply の権限を持っていない

            エンジニア全員が Terraform を安心・安全に触れるような仕組みを整えています - VisasQ Dev Blog
          • GitHub Actionsのワークフローを可視化するactions-timelineを作った

            最初に作ったのがCIAnalyzerです。なるべくツール自体の運用の手間がかからないように常駐サーバー無し、データの保存先と可視化はマネージドサービスを使う前提で設計しました。具体的にはデータの保存先をBigQueryとすることによって自前でDBを管理する必要をなくし、webhookを受けるのではなくcronで定期的にAPIを叩くことで常駐サーバーを不要にし、データの可視化はBigQueryと簡単に連携できてマネージドサービスであるLooker Studioを使用する前提としました。 CIAnalyzerのアーキテクチャ CIAnalyzerを作ったきっかけはAzure Pipelineの分析機能に感銘を受けたことで、それと同等の分析を当時自分が業務とプライベートで使用していたJenkins, CircleCI, Bitrise, GitHub Actionsでも可能にしたいと思って開発を

              GitHub Actionsのワークフローを可視化するactions-timelineを作った
            • Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説|ハイクラス転職・求人情報サイト AMBI(アンビ)

              ハイクラス求人TOPIT記事一覧Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説 Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説 Terraformは、パブリッククラウドのインフラ構築と自動化のツールとして、IaCのデファクトスタンダードとなっています。この記事では、AWS(Amazon Web Services)を活用するハンズオンを通してTerraformの動作を理解し、実務にもとづいて役立つ機能や便利なエコシステム、さらにSRE視点の事例を紹介します。アソビュー株式会社でSREユニットリーダーを務める鈴木剛志さんを中心に6名のメンバーによる共同執筆です。 アイキャッチ画像 アソビューでは、インフラストラクチャーの変更管理にTerrafo

                Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説|ハイクラス転職・求人情報サイト AMBI(アンビ)
              • CIを高速化する技術⚡️ - 10X Product Blog

                この記事は 10X アドベントカレンダー2023 という企画の1日目(12/1)の記事です。 こんにちは、10Xでソフトウェアエンジニアをしている 岡野(@operandoOS)です。 今回 10Xで3回目となるアドベントカレンダー企画の1日目をありがたく担当させていただきます💪 目次 目次 10X アドベントカレンダー2023ってなに? さてさて、本題へ CIは絶対に速い方がいい CIを高速化するテクニックの紹介 キャッシュの利用 マシン性能の調整 ジョブの並列実行とテスト分割 最適なテスト分割 ジョブの実行順序・依存関係の最適化 不要なジョブ・ステップを削除する テストコードの実行速度を上げる 紹介したテクニックを活用した10XでのCI高速化事例 アプリのビルド時間の大幅短縮に成功!! APIのテスト実行時間の大幅短縮に成功!! CIを高速化するために日々取り組んでいること CI/C

                  CIを高速化する技術⚡️ - 10X Product Blog
                • ローカルで GitHub Actions が実行できる act のお作法を整理する

                  はじめに GitHub Actions (GHA) 、便利ですね。 便利なんですが、動作確認するのに PR 出してマージするのが煩わしい...。そもそも PR する前に動作確認しておきたいし、やたらに PR 作りたくもない...。 そんな悩みを解消してくれるのが act でした。これならローカルで動作確認できるので GHA 開発が捗ります!! act 使ってみた記事は沢山ありますが、動かすまでに詰まったポイントをお作法として整理 してみました。act の使い方に悩まれている方の参考になれば幸いです。 2024/5/8 追記 act の実行に IAM ロールに追加設定が必要な点を追記しました。 AssumeRole するために sts:TagSession 権限を付与する 対象読者 GitHub Actions を使っている / 使おうとしている方 GitHub Actions の動作確認に

                    ローカルで GitHub Actions が実行できる act のお作法を整理する
                  • ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録

                    事前知識編 システム開発するプログラマも読んでおいたほうがいい資料とか。 今時のシステムならまず仕様や運用に反映される。されてなかったらむしろこっちから確認取りに行った方がいい。 JOGAガイドライン 昔ガチャとかが問題になったときに出てきた協会のガイドライン。 オンラインゲーム安心安全宣言 オンラインゲームにおけるビジネスモデルの企画設計および運用ガイドライン ランダム型アイテム提供方式を利用したアイテム販売における表示および運営ガイドライン オンラインゲームガイドライン 開発環境編 GitHubみたいなPullRequestを出せる環境 GitだけじゃなくてGitHub。必然的に規模が大きくなるのでプルリク出して進めることになります。 CIまで設定をする 最初のうちにCircleCIのようなテストの自動実行する仕組みまで揃えてしまっておいたほうが良いです。後からだとそもそも対応できなく

                      ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録
                    • GitHub Actionsを使いこなせ!/Get Started GitHub Actions

                      OCHaCafe Season7 #3の資料です.

                        GitHub Actionsを使いこなせ!/Get Started GitHub Actions
                      • ソースコードのハッシュ値を利用した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 | サイボウズエンジニアのブログ
                        • pull_request_target で GitHub Actions の改竄を防ぐ

                          本記事では GitHub Actions で pull_request event の代わりに pull_request_target を用い、 workflow の改竄を防いでより安全に CI を実行する方法について紹介します。 まずは前置きとして背景や解決したいセキュリティ的な課題について説明した後、 pull_request_target を用いた安全な CI の実行について紹介します。 本記事では OSS 開発とは違い業務で private repository を用いて複数人で開発を行うことを前提にします。 長いので要約 GitHub Actions で Workflow の改竄を防ぎたい GitHub の branch protection rule や codeowner, OIDC だけでは不十分なケースもある pull_request event の代わりに pull_r

                            pull_request_target で GitHub Actions の改竄を防ぐ
                          • 10年開発してきたPHPアプリケーションにPHPStanを導入した - BASEプロダクトチームブログ

                            Tech Dept. 基盤グループエンジニアの @tenkoma です。 BASEには50以上のPHPプロジェクトのプライベートリポジトリがあります。 (アプリケーションは十数個で、残りの多くが、アプリケーションが依存するライブラリです) 過去4年ほどの間に新規に作られたリポジトリにはほぼ最初からPHPStanが導入されていますが、それ以前から開発していたリポジトリには導入されていないものが多数ありました。 それらのリポジトリにPHPStanを導入していったので、なぜ導入したか、導入方法、得られた効果について紹介します。 PHPStanとは PHPコードを実行せずに、実行時にエラーになりうる箇所を検出するツールです。PHPStanを利用しCIに組み込むと、テスト実行せずに検出できるバグの一部は、PHPStan解析で指摘してくれるので、コードレビューの負担が減ることが期待できます。 なぜPH

                              10年開発してきたPHPアプリケーションにPHPStanを導入した - BASEプロダクトチームブログ
                            • GitHub Actions と Release Please を使ったアプリケーションのリリース自動化 - Classi開発者ブログ

                              GitHub Actions と Release Please を使ったアプリケーションのリリース自動化 こんにちは @lacolaco です。最近は、先日プレスリリースが出された「学習トレーニング」機能を裏で支えているコンテンツ管理システム(以下内部CMS)の開発に携わっています。 corp.classi.jp この記事では、内部CMSのフロントエンド(Angular アプリケーション)のリリースフローを自動化している仕組みを紹介します。現在のリリースフローの全体像は次の図のようになっています。この中にある Release Please というのが、今回特に紹介したいツールです。いくつか日本語でのブログ記事などもあるので特にマイナーというわけではないと思いますが、多くの場合はライブラリのリリースに使われています。一方、アプリケーションのリリースで使っているケースはあまり発信されてないよう

                                GitHub Actions と Release Please を使ったアプリケーションのリリース自動化 - Classi開発者ブログ
                              • Renovateを使ってフロントエンドのバージョンアップを改善した話 | PR TIMES 開発者ブログ

                                こんにちは、フロントエンドエンジニアの小張です。Renovateを使ってフロントエンドのパッケージやライブラリのバージョンアップを改善したことについて紹介します。 PR TIMESではReactに関するコードを、monorepoとしてprtimes-frontendという1つのリポジトリで管理しています。 このリポジトリは作成されてから2年ほどしか経っておらず、使っているライブラリも比較的新しいため、今までバージョンアップの仕組みを特に整備していませんでした。 ただフロントエンドのライブラリはバージョンアップの頻度が多く、異なるライブラリ間でバージョンの依存関係があることもあり、将来のことを考えればライブラリのバージョンを更新する仕組みを作ることはほぼ必須でした。 また、monorepoであるためライブラリのバージョンを大きくあげようとした際の対応コストも大きく、最新との差が小さいうちに細

                                • Cloud Runで開発用環境を沢山作る - 一休.com Developers Blog

                                  概要 この記事は 一休.com Advent Calendar 2023 16日目の記事です。 RESZAIKO開発チームの松村です。 一休では各サービス毎に、開発中のサービスの動作を社内で確認できる環境があります。 それぞれmain(master)ブランチと自動的に同期している環境と、特定のブランチを指定して利用できる環境の2種類があります。 今回、RESZAIKOの新規サービス(予約画面)に対してブランチを指定してデプロイできる環境を作成したので、その方針と反省点と今後について記述していきます。 現在運用中の予約画面 開発環境を作る理由 一休では長らく、EKS上に複数の環境を用意して、ブランチを指定すると開発環境にデプロイするシステムが利用されてきました。 一般的にこのような環境を構築するのは以下のような理由が挙げられます。 動作確認 マイクロサービスで、異なるブランチ同士の組み合わせ

                                    Cloud Runで開発用環境を沢山作る - 一休.com Developers Blog
                                  • 実行時間ベースでテストを分割するGitHub Action

                                    GitHub Actionsでテストファイルを複数ノードに適切に分割するためのカスタムアクション、r7kamura/split-tests-by-timingsを作った。 CircleCIに同様の仕組みがあり、今回はこれのGitHub Actions版が欲しかった。 既存ツールとして、Go製のleonid-shevtsov/split_testsというCLIツールがあり、これを利用するchaosaffe/split-testsというカスタムアクションがある。 このカスタムアクションでも不足は無かったが、幾つかの理由で今回自作するに至った。 しばらく使いそうなので、保守性を上げるためにも、不要な機能を取り除いて必要最低限の機能にしたかった GitHub Actionsは仕様変更が多いため、自分で保守できるようにしたかった 今回、内部実装としてRust製のmtsmfm/split-testとい

                                    • GitHub Actions のストレージ空き容量を限界まで拡張する

                                      name: Container deploy on: release: types: [published] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: REGISTRY: ghcr.io IMAGE_NAME: pinto0309/test jobs: docker-deploy: runs-on: ubuntu-22.04 permissions: contents: read packages: write steps: - name: Git checkout uses: actions/checkout@v3 - name: Enable buildx uses: docker/setup-buildx-action@v2 - name: Ch

                                        GitHub Actions のストレージ空き容量を限界まで拡張する
                                      • お財布に優しいCI改善小ネタ集 - メドピア開発者ブログ

                                        こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 今回はRailsシステムのCI時間をコスト追加なしで半減した話をします。 目次 前提 対象プロジェクト CIの状況 改善結果 改善内容 前提知識: CIのキャッシュ機能 webpack buildのキャッシュを活用 RuboCopのキャッシュを活用 ESLintのキャッシュを活用 Jestのキャッシュを活用 RSpec Jobをテスト特性ごとに分割 CircleCIのリソースクラスと並列数の最適化 採用しなかった・見送った改善候補 HAML-Lint, Fasterer, Brakemanのキャッシュを活用 Stylelintのキャッシュを活用 bootsnapを活用 Jestの

                                          お財布に優しいCI改善小ネタ集 - メドピア開発者ブログ
                                        • GitHub Actions から AWS へのアクセスに利用している OpenID Connect ID Provider の thumbprint について調査した - ROUTE06 Tech Blog

                                          ROUTE06 でエンジニアリングマネージャ兼ソフトウェアエンジニアとして働いております海老沢 (@satococoa) と申します。 先日発生した GitHub Actions と AWS の OpenID Connect 連携におけるトラブルに関して調査を行い、対応方針を策定した件を共有したいと思います。 [2023/07/10 追記] Thumbprint を明示的にユーザ側で設定しなくて良いように、AWS 側で対応されたそうです。 github.com 当面 Terraform のモジュール的には必須入力のままですが、任意の文字列で良いそうです。 (いずれ入力も不要になるのかと思います。) https://github.com/aws-actions/configure-aws-credentials/issues/357#issuecomment-1626357333 The A

                                            GitHub Actions から AWS へのアクセスに利用している OpenID Connect ID Provider の thumbprint について調査した - ROUTE06 Tech Blog
                                          • mirage-ecsで各メンバー専用開発サーバーを実現!まちのコインの運用事例を紹介します - KAYAC engineers' blog

                                            SREチームの長田です。 突然ですが、 mirage-ecs というツールをご存知でしょうか? 今回はこのツールをまちのコインの開発チームでの使用例をもとに紹介します。 coin.machino.co mirage-ecs を使うと動作確認用のサーバー環境を、サーバーサイドのエンジニアでなくとも自由にいくつでも立ち上げることができるようになります。 「環境」は AWS のECSクラスタ上で起動し、専用のURLが割り当てられ、 認証*1を通過すればどこからでもアクセスできます。 これにより 「クライアントアプリとつなぎ込んで動作確認したいけど、開発環境が空いてないから確認できない」 や、 「プロダクトオーナーに新機能を確認してもらいたいけど、開発環境が空いてないから(以下略)」 といった問題が解消し、 開発と動作確認のサイクルをスピーディーに回すことができるようになります。 mirage-e

                                              mirage-ecsで各メンバー専用開発サーバーを実現!まちのコインの運用事例を紹介します - KAYAC engineers' blog
                                            • メルコインにおけるGitHub Actions活用術 | メルカリエンジニアリング

                                              こんにちは。メルコインのバックエンドエンジニアのiwataです。 この記事は、Merpay Advent Calendar 2023 の23日目の記事です。 私はいまメルコインのCoreチームに属しています。Coreチームでは主にお客さまからの暗号資産の売買注文を受け付ける部分のマイクロサービスを開発運用しています。 メルコインではCI環境としてGitHub Actions self-hosted runnerを使用しています。またCIだけでなく、さまざまな自動化のためのワークフローの構築もこの環境を用いて実行しています。この記事では私の所属しているCoreチームにおいてGitHub Actions上に構築しているオートメーションについて紹介したいと思います。 PR-Agent PR-AgentはOpenAI APIを使って、PRのコードレビューなどを自動化してくれるActionです。La

                                                メルコインにおけるGitHub Actions活用術 | メルカリエンジニアリング
                                              • 2ヶ月半で Nuxt サービスを 3.5 個つくった話 - メドピア開発者ブログ

                                                フロントエンドエンジニアの小林和弘です。 去年の 4 月に「Web アプリを 3 つ使ったサービスを 3 ヶ月でつくりたい」という話が降ってきて、無茶を現実にした話をします。 新規サービス「やくばと」で Workspaces のモノレポを使って、医療機関画面、薬局画面、患者画面の 3 つの Nuxt を構築しました。 やくばととは 医療機関、薬局、患者さまの間でやり取りされる医療機関起点の薬局向け処方せん画像事前送信サービスです。処方せんに関する業務負荷を軽減すると共に、患者さまの大きな負担である医療機関、薬局での待ち時間を軽減するということを主な目的としたサービスです。 医療機関、薬局の DX を進め、患者さまの負荷軽減に貢献できる素晴らしいサービスになっています。 開発チームでは医療機関、薬局、患者さまに提供している Web 画面をそれぞれ医療機関システム、薬局システム、患者システムと

                                                  2ヶ月半で Nuxt サービスを 3.5 個つくった話 - メドピア開発者ブログ
                                                • GitHub ActionsとGoogle CloudのOIDCの仕組みを理解する

                                                  GitHub Actions から AWS や GCP などのクラウドリソースを操作するときは、 OIDC を使用することが主流だと思いますが、手順に沿って設定はできるもの仕組みがよく分かっていない方も多いと思います。 この問題は厄介で、様々な"分からない"が絡まりあって生まれている問題だと思います。 例えば、 どんな仕組み・流れでAWS・GCPを操作できるようになっているのか分からない(私) そもそもなぜOIDCを設定すると嬉しいのか分からない(私) 色々な設定をしたけど何をしているのか分からない(私) などが挙げられると思います。 これらを解消し、OIDCを利用したGitHub ActionsとGCPの連携の流れ・仕組みを探求するのがこの記事の目的です。 ※Google CloudのことはGCPと書きます。 ※記事で触れないこと GitHub Actions - Google Clou

                                                    GitHub ActionsとGoogle CloudのOIDCの仕組みを理解する
                                                  • コンテナのセルフホストランナーの中でコンテナを使えるようにするrunner-container-hooks

                                                    以前にセルフホストランナーの知られざる機能であるジョブの前後に任意のスクリプトを実行できるhookを紹介しました。 今回はセルフホストランナーの知られざる機能の紹介第二弾としてactions/runner-container-hooksを紹介します。 runner-container-hooksは2023年現在では比較的新しい機能で、自分もいつ頃に知ったのかは覚えていないのですが、actions/runnerのリポジトリには2022年の4-5月頃に追加されていたようです。実装のpull-reqから少し遅れて5月には設計ドキュメントと言えるADRのpull-reqが出されています。 このADRを見たところ自分がセルフホストランナーを運用する上で今まではどうしても不可能であったコンテナの中で起動したセルフホストランナーの中でコンテナ型のactionなどが実行できないという制約を突破できることが

                                                      コンテナのセルフホストランナーの中でコンテナを使えるようにするrunner-container-hooks
                                                    • 医療系スタートアップのバックエンドをモノレポ化した話 〜技術編〜 - 株式会社ヘンリー エンジニアブログ

                                                      こんにちは、ヘンリーの SRE の戸田と Wildcard Engineer の岩永です。 弊社ではレセコン一体型クラウド電子カルテの Henry を開発・提供しています。 前編の Henry のバックエンドをモノレポ化した戦略やプロセスに続いて、後編のこちらの記事ではモノレポ化の技術的手法を解説します。 dev.henry.jp 実際のモノレポ化の流れに沿って、ポイントを3点説明します。 2つの git リポジトリのマージ アプリケーション・ワークフローのモノレポ対応 モノレポへの切り替え当日に向けた手順書の作成 1. 2つの git リポジトリのマージ 今回のモノレポ化においては、もともと存在していた henry-general-api と henry-receipt-api という2つのマイクロサービスのリポジトリを、1つのリポジトリにマージし、それぞれのマイクロサービスがサブディレ

                                                        医療系スタートアップのバックエンドをモノレポ化した話 〜技術編〜 - 株式会社ヘンリー エンジニアブログ
                                                      • Goの自動テスト高速化のための調査と改善手法 - Cluster Tech Blog

                                                        はじめに こんにちは、クラスター株式会社でソフトウェアエンジニアをやっているid:shiba_yu36です。 クラスターではGoの自動テストをCircleCIで実行しています。入社して以降、この自動テストの実行時間が少し長いと感じたため、調査と改善を進めてきました。結果として速度を改善できたので、この記事でGoの自動テスト高速化のための調査と改善手法について共有したいと思います。 はじめに Goの自動テストで課題だったこと 最終的な結果 自動テスト高速化の流れ テスト実行時間のボトルネックを調査する CircleCIのTIMINGタブで大まかなボトルネックを調査する make testのボトルネックを調査する 高速化でやるべきことを決定する 1つずつ改善し結果を計測する go generateの成果物をレポジトリにcommitし自動テスト上では実行しない: 2分短縮 ビルドキャッシュを用い

                                                          Goの自動テスト高速化のための調査と改善手法 - Cluster Tech Blog
                                                        • Google Apps ScriptでGPTsのCustom ActionsのAPIを作ってみた - Qiita

                                                          はじめに GPTsのCustom Actions(カスタムアクション)をつかって、外部のAPIを呼び出して、データを取得することができるようになりました。 たとえば、郵便番号検索APIを呼び出して、ユーザーから入力された住所から、郵便番号を回答するGPTを作ることができます。 詳細についてはこちら。 この記事では、Custom Actionsから呼び出されるAPIを、Google Apps Scriptを使って無料で作る方法について説明します。 この記事の対象者 GPTsのCustom ActionsのAPIを自作したい方 Google Apps Scriptで簡単なスクリプトを作ったことがある方 Zapierの連携よりも複雑な処理を求めている方 APIの概要 シーケンス図で表現しました。 "Google Apps Script"にあたるところが、今回作成するAPIになります。 処理として

                                                            Google Apps ScriptでGPTsのCustom ActionsのAPIを作ってみた - Qiita
                                                          • pt-online-schema-change の実行が必要かどうか判断するタイミングをより早くした話 - Repro Tech Blog

                                                            Repro では Aurora MySQL を使用しています。いくつか数千万行を越えるデータを持つ大規模なテーブルもあります。 大規模なテーブルのスキーマを変更するときは pt-online-schema-change1 を使用していますが、今回はその必要性を判断するタイミングを早めた話です。 pt-osc が必要になる理由等は次の記事が詳しいです。 - pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について - freee Developers Hub 解決したい課題 Repro では Rails アプリケーションが管理画面や API を提供しています。これらについて、目的別に複数の環境を用意しています。 member: 主に管理画面の動作確認目的で開発者が自由に使ってよい環境 いくつかのミドルウェアは dev_staging と共用

                                                              pt-online-schema-change の実行が必要かどうか判断するタイミングをより早くした話 - Repro Tech Blog
                                                            • GitHub ActionsでEnvironmentsを使わずにManual approvalを実装する - KAYAC engineers' blog

                                                              SREの今です。 CircleCIやGitHub Actions等のCI/CDツールでデプロイの自動化に取り組む際に、意図しない本番反映の防止策として承認アクション(Manual approval)を挟んでおくことがあります。 GitHub Actionsでは、Environmentsを利用することでワークフローの実行前にレビューを必須化することが出来ます1。しかし、この機能をプライベートリポジトリで利用するにはリポジトリの所有者がGitHub Enterpriseを契約している必要があります2。 業務の都合上、Environmentsを利用できないリポジトリでManual approvalを利用したい機会があり、ワークフロー実行履歴を利用したManual approvalを実装したのでご紹介します。 本記事はSRE連載の12月号 + 面白法人グループ Advent Calendar 20

                                                                GitHub ActionsでEnvironmentsを使わずにManual approvalを実装する - KAYAC engineers' blog
                                                              • CircleCIの高速化🚀 / CircleCI faster

                                                                【オフライン開催】Omotesando.rb #92 https://omotesandorb.connpass.com/event/302869/ Example code to skip tests if source trees are the same. https://gist.github.com/sinsoku/7b4201787d36f8ef669abd38395a28db

                                                                  CircleCIの高速化🚀 / CircleCI faster
                                                                • Github Actionsでget-diff-actionを用いてDocker Build時間を削減する

                                                                  こんにちは!アルダグラムの開発ユニット長の田中です! 突然ですが、少しでもCIの実行時間を削減したいと思いませんか? 今回は、GitHub Actionsとget-diff-actionを活用してDockerビルド時間を削減する方法についてご紹介します。 TL;DR get-diff-actionを使用してライブラリの変更差分を検知します。 変更差分がない場合はライブラリインストール済みのDockerイメージを使用してBuild時間を短縮します。 サンプルコード 具体的な例として、Railsアプリケーションを使用します。 on: pull_request: types: [ closed ] branches: - 'develop' name: Deploy to Amazon ECS jobs: ecr-push: name: Deploy runs-on: ubuntu-latest

                                                                    Github Actionsでget-diff-actionを用いてDocker Build時間を削減する
                                                                  • tfupdateで複数の.terraform.lock.hclを高速に一括更新する - クラウドワークス エンジニアブログ

                                                                    はじめに Terraform職人の@minamijoyoです。先日、tfupdateが.terraform.lock.hclの更新に対応しました。v0.7.0から tfupdate lock というコマンドが追加されています。 github.com 例えば、あるディレクトリ配下のすべてのAWSプロバイダを指定バージョンに更新しつつ、複数プラットフォーム混在で使う.terraform.lock.hclもまとめて一括更新するには、以下のようなコマンドで簡単にできるようになりました。 $ tfupdate provider aws -v 5.7.0 -r ./ $ tfupdate lock --platform=linux_amd64 \ --platform=darwin_amd64 \ --platform=darwin_arm64 \ -r ./ 内部的にterraformコマンドには依

                                                                      tfupdateで複数の.terraform.lock.hclを高速に一括更新する - クラウドワークス エンジニアブログ
                                                                    • RailsのCIのテスト実行時間を 10分から5分に高速化した話 - Findy Tech Blog

                                                                      FindyでEMをしている栁沢(@nipe0324a)です。 今回は、FindyのとあるRailsのCIのテスト実行時間を10分から5分に高速化した話をご紹介します。 「CIのテスト実行時間が遅い...」 「CIの実行時間を短くしたい!!」 と感じている方はぜひご覧くださいませ。 Findyでは2024年2月現在、1人あたり1日4プルリクを平均で作っています。静的解析や自動テストなどを即時に行うCI環境がないとスピード感のある開発ができなくなるため、CIを高速で回しタスクを完了させる必要があります。機能も増え、テストケースも拡充したことでCIの高速化が求められるようになりました。 また、個人的には、CIは遅くても10分、理想は5分以内で終わるのを1つの目安にしています。これぐらいのスピード感でCIが完了すると、「プルリク作ってレビュー依頼する」、「レビューコメントもらって対応する」といった

                                                                        RailsのCIのテスト実行時間を 10分から5分に高速化した話 - Findy Tech Blog
                                                                      • GitHub、Apple M1チップでGitHub Actionsの処理を実行する「M1 macOSランナー」提供開始、パブリックベータとして

                                                                        GitHub、Apple M1チップでGitHub Actionsの処理を実行する「M1 macOSランナー」提供開始、パブリックベータとして GitHubは、コードのビルドやテスト環境などで使えるGitHub-hosted runnerとして、Apple M1チップによる「M1 macOSランナー」の提供をパブリックベータとして開始すると発表しました。 Speed up your GitHub Actions jobs on macOS with all new, faster Apple silicon powered M1 macOS larger runner for arm64. https://t.co/zUlsVaVAJZ — GitHub (@github) October 2, 2023 GitHubは、GitHub Actionsによるワークフローの一部として、コードの

                                                                          GitHub、Apple M1チップでGitHub Actionsの処理を実行する「M1 macOSランナー」提供開始、パブリックベータとして
                                                                        • GitHub Actions could be so much better

                                                                          I love GitHub Actions: I’ve been a daily user of it since 2019 for both professional and hobbyist projects, and have found it invaluable to both my overall productivity and peace of mind. I’m just old enough to have used Travis CI et al. professionally before moving to GitHub Actions, and I do not look back with joy1. By and large, GitHub Actions continues to delight me and grow new features that

                                                                          • 時期を決めて定期的に更新するnpmパッケージをChangesetsで管理する

                                                                            毎月や半年に一回といったように、リリースする時期(間隔)を決めて更新するタイプのパッケージがあります。 具体的には、次のtextlintのプリセットルールは1月と7月という形で半年に一回リリースしています。 textlint-ja/textlint-rule-preset-japanese: textlint rule preset for Japanese. textlint-ja/textlint-rule-preset-ja-technical-writing: 技術文書向けのtextlintルールプリセット なぜ、このようにリリースする時期を決めているかというと、これらのパッケージは他のパッケージに依存していて、他のパッケージの更新がそのままメジャーアップデートになりやすい性質があるためです。 そのため、依存を更新してリリースすると、頻繁にメジャーアップデートしないといけなくなりま

                                                                              時期を決めて定期的に更新するnpmパッケージをChangesetsで管理する
                                                                            • GitHub - ysk8hori/delta-typescript-graph-action: This GitHub Action uses Mermaid to visualize in a diagram the files that were changed in a Pull Request and their related dependency files.

                                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                GitHub - ysk8hori/delta-typescript-graph-action: This GitHub Action uses Mermaid to visualize in a diagram the files that were changed in a Pull Request and their related dependency files.
                                                                              • 三社三様!テスト自動化アプローチのあれこれ共有会 (2023/08/30 19:30〜)

                                                                                ■どんなイベント? DevOpsの浸透は、チームの価値提供速度を加速します。 息を吐くようなテストの自動化が求められている一方で 深いドメイン知識が必要なテスト、固有の操作が必要な手動でやらざるを得ないテストは どんなプロダクトでも依然、存在していることでしょう。 自動と手動テストをバランスよく組み合わせて、最小アセットで最大の品質効果を生み出せるのが理想的。 そのために様々なテスト自動化アプローチを工夫・思案しているのだと思います。 本イベントではNTT 研究所、CircleCI、株式会社SHIFTが 三社三様に工夫しているテスト自動化のアプローチ例をご紹介します。 単なるツール紹介、あるべき論紹介にとどまらない、ヒントの場になれば、と企画しました。 お楽しみにどうぞ。 ■こんな人向きです テスト自動化に興味あり DevOpsに興味あり 開発の効率化に興味あり リリースサイクルの改善に興

                                                                                  三社三様!テスト自動化アプローチのあれこれ共有会 (2023/08/30 19:30〜)
                                                                                • ライブラリのアップデートを自動化した仕組みの紹介 - Classi開発者ブログ

                                                                                  こんにちは!学習動画・Webテストの開発を行っています エンジニアの daichi (id:kudoa) です。 この記事では、最近チームで導入したライブラリアップデートを自動化した仕組みとその経緯について紹介します。 なぜ自動化しようと思ったか サービスを開発するだけではなく、日々の運用も必要です。 その運用業務の1つとして、ライブラリのアップデートがあります。 これはサービスを運用する上では大切なことではありますが、日々ライブラリアップデートのPRをさばき続けるのも大変です。 その時間をできるだけ減らし、その分空いた時間をユーザーへの価値提供や将来の投資に充てるために、今回の自動化の仕組みを作成しました。 この辺りの話は以前勉強会でLTしたことがありますので、興味があればご覧ください。 作ったもの 前置きは長くなりましたが、凝ったものを作ったわけではありません。 作成したものはライブラ

                                                                                    ライブラリのアップデートを自動化した仕組みの紹介 - Classi開発者ブログ