並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 1275件

新着順 人気順

ciの検索結果441 - 480 件 / 1275件

  • jestのテストが遅い場合に確認すべきこと - ishikawa_pro's memorandum

    こんにちは。 急に寒くなりましたね。 僕は最近iPad Air4 を予約しました。 今日は、javascriptのテストフレームワークのjestについてです。 業務では去年くらいから新規サーバーアプリケーションはjavascriptではなくTypeScriptを使っています。 それに合わせてテストフレームワークもmochaからjestへ移行しました。 jestjs.io jestの特徴の1つは、一意なグローバル状態を持つことを保証しつつ、複数のテストを別プロセスで並列に実行してくれるため、安全に高速なテストをすることが可能なことです。 しかし、僕が前にいたチームでjestのテストにかかる時間がやたら長いことが話題になってました。 今日は、この高速なはずのjestがやたら遅い問題が社内で話題になっていたので調査してまとめてみたので、もしjestが遅くて困っている方は参考にしてみてください。

      jestのテストが遅い場合に確認すべきこと - ishikawa_pro's memorandum
    • Terraformのレビューを自動化するために、Conftestを導入してGithub ActionsでCIまで設定してみる - nariのエンジニアリング備忘録

      はじめに 対象読者 OPA/Rego/Conftestとは Regoでポリシールールを記述して、ルール自体のテストも記述しながらCIへ組み込んでいくまで Conftest(OPA/Rego)のセットアップ 前提知識: Terraform plan 結果の構造 ConftestでTerrafom resource tag ルールを書いてみる ConftestでRegoで書いたルール自体のテストを書いて、実行してみる Conftestを実行するCIをGithub Actionで整備する Conftest/Regoで書いたポリシールール自体のfmt/verifyのCIの設定 Conftest testでTerraform plan結果をテストするCIの設定 終わりに 参考文献 English Version: dev.to はじめに メリークリスマス。eureka, inc. でSREをやってい

        Terraformのレビューを自動化するために、Conftestを導入してGithub ActionsでCIまで設定してみる - nariのエンジニアリング備忘録
      • 【Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ

        【Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ by nao · 公開済み 2025年2月13日 · 更新済み 2025年2月13日 前書き:アーキテクチャは容易に壊される アーキテクチャリンターであるfe3dback/go-arch-lintをnao1215/sqlyに導入したので、使用方法のメモを記事として残します。結論としては、初期設定が面倒ですが、期待通りの効果が得られました。なお、既存コードがカオスなアーキテクチャの場合、go-arch-lintを採用できないと思われます。 まず、アーキテクチャをリンターでチェックする発想に至った理由から、説明します。以前、ペアプロ中にドライバ側(実装する人)がアーキテクチャルールに反しているのを偶然目撃しました。違反内容は、「外部サービス操作用パッケージ内でのみ使用できる構造体をユースケースレイヤーから呼

          【Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ
        • Serverlessを取り巻く現状とAll Serverlessでプロダクトを構築する苦労

          CloudNative Days Tokyo 2020

            Serverlessを取り巻く現状とAll Serverlessでプロダクトを構築する苦労
          • GitHub Actions上で独自のワークフローを構築しやすくするための仕組み - Pepabo Tech Portal

            本エントリはGMOペパボエンジニア Advent Calendar 2021の25日目のエントリです。メリークリスマス! はじめまして、技術部技術基盤チームの@k1LoW と申します。最近はYouTube Musicの「おすすめのアーティスト」をふらふらと漂流するのが好きです。その漂流で見つけた Nubiyan Twist がカッコいいです。 GMOペパボではGitHub Enterprise Server (以下、GHES)を利用しており、CI/CD基盤としてGitHub Actionsを活用しています。 本ブログでも様々なGitHub Actions活用事例を紹介しています。 #GitHub Actions に関する記事一覧 手動で実施していた業務やタスクをGitHub Actionsのワークフローとして構築しなおす GMOペパボではGitHub Actionsをいわゆる「CI/CDの

              GitHub Actions上で独自のワークフローを構築しやすくするための仕組み - Pepabo Tech Portal
            • OpenAPI のスキーマが変わった時に通知して型など諸々を自動で生成する GitHub Actions

              昨今では API のスキーマから型を生成することはフロントエンド界での基本的エンジニア権とされていますが、これはバックエンドとフロントエンドでレポジトリが分かれている場合にややワークフローが煩雑になります。 これを楽にするための GitHub Actions の設定を書いてみたのでご紹介します。 何もない時のワークフロー OpenAPI スキーマを生成する 中身をコピって別レポジトリにはっつける npm run generate:all を実行して諸々を生成する PR 作ってマージ というのをアップデートする度にやる必要があり地味に面倒です。 ので GitHub Actions で 2〜4 を自動化しちゃいましょう。 スキーマから生成して PR を作る Actions を作成 まずはフロント側のレポジトリで実行する Action を作ります。 やっていることは npm run genera

                OpenAPI のスキーマが変わった時に通知して型など諸々を自動で生成する GitHub Actions
              • GitHub Actions の実行結果を Slack に通知する

                概要 GitHub Actions のワークフローの結果を、以下のアクションで Slack に通知している方は多いと思います。 Slack App を作成して、Incoming Webhook URL を発行 GitHub Actions に Slack 通知用の job を追加 1 で発行した URL をリポジトリの secrets に登録 こちらが、GitHub の Slack App を用いて実現できることを知ったので、備忘録として記録します。 この記事を読むメリット GitHub Actions から Slack 通知をするのにかかる手間を減らせる。 手順 Slack に GitHub App を追加 subscribe の設定を行う これだけでした。 1 については、Slack で GitHub の App を選択していけばよしなにできるので、省略します。 ワークフロー 今回は、

                  GitHub Actions の実行結果を Slack に通知する
                • CodePipeline を使った Gitブランチ運用をまとめてみた | DevelopersIO

                  はじめに おはようございます、もきゅりんです。 CodePipeline は使いたいのだけど、どんなデプロイフローにするか迷ってるといったことを聞くことがあります。 本稿では、CI/CDツールを CircleCI でも GitHub Actions でもなく、CodePipeline を前提として、そして代表的と思われる Git フローでどのように考えるかをまとめてみました。 諸事情と背景があって、基本的には AWSのサービス限定で CI/CDを利用したいというケースはよくあると思います。そういった状況に限定して、かつ、よくある環境セット、一般的なステージを利用した CodePipelineの CI/CDを想定しています。 とりあえず検討してみる材料にでもなれたら幸いです。 なお、どのタイプの Gitブランチフローが一番使いやすいとかそういう話はしません (できません)。 想定とする方 C

                    CodePipeline を使った Gitブランチ運用をまとめてみた | DevelopersIO
                  • Kubernetesのmanifestを検証しよう - ANDPAD Tech Blog

                    要約 k8sは、manifestをサービスが動くように設定するのは簡単だが、適切な設定は分かりづらい その結果、いまいちな設定をしてしまいがち kube-scoreはmanifestの問題と対応方法を教えてくれる k8s初心者にこそ、ツールによるmanifestの自動検証はおすすめ 想定読者 Kubernetes(以下、k8s)でとりあえずサービスを動かせるが、雰囲気で触っている人向けです。 k8sの設定は雰囲気で決められがち こんにちは。ANDPADでバックエンドの開発をしているzigeninです。 ANDPADでは、バックエンドのサービスをk8sで動かしています。 k8sを使っていて感じる一番の問題は、manifestで設定できることが多すぎて、良い設定が分かりづらいことです。 そのせいか、k8sに習熟していないと以下のような設定をしがちです*1。 apiVersion: apps/v

                      Kubernetesのmanifestを検証しよう - ANDPAD Tech Blog
                    • GitHub Actionsのサードパーティーマネージドランナーの紹介 - いけだや技術ノート

                      この記事は はてなエンジニア Advent Calendar 2023 の 2024年1月4日 の記事です。 GitHub Actionsの実行環境であるランナーには、GitHubが提供するGitHub ホステッド ランナーと、自分でランナーを用意・管理するセルフホステッド ランナーの大きく二種類があります。 最近はGitHub ホステッド ランナーにもラージランナーが用意されるようになり、ある程度ランナーのスペックを選べるようにもなりましたが、他のCIサービスと比べてもスペックの割にコストが高めである感じは否めません。一方でセルフホステッド ランナーにはスペックを自分で調整できる自由度がありつつも、管理する手間とコストが掛かってきます。 こうした隙間を突くように、サードパーティーによるマネージドなセルフホステッド ランナーを提供するサービスが増えつつあります。基本的には runs-on:

                        GitHub Actionsのサードパーティーマネージドランナーの紹介 - いけだや技術ノート
                      • GitHub Actions + CircleCI + AWS CodeDeployによるCI/CD環境にインフラを移行した話 - SMARTCAMP Engineer Blog

                        スマートキャンプ、エンジニアの入山です。 前回のブログで、弊社プロダクトのインフラをEC2基盤からECS/Fargate基盤へ移行した話を紹介しました。 tech.smartcamp.co.jp 上記プロジェクトは大規模なインフラの刷新だったこともあり、CI/CDについても従来の仕組みからECS/Fargateの構成に合わせて変更しています。 CI/CDは、安定したプロダクト開発には必須且つ長期に渡って継続的に利用するものなので、いかにストレス少なく効率的に出来るかが重要だと考えています。 また、CI/CDは一度構築してしまうと放置されがちですが、日々の開発チーム全体の生産性にも大きな影響を与えるため、こういった数少ない再構築のタイミングではコストを掛ける価値があるのではないでしょうか。 今回は、弊社のインフラ移行時に実施したCI/CDの改善について紹介したいと思います。 従来のCI/CD

                          GitHub Actions + CircleCI + AWS CodeDeployによるCI/CD環境にインフラを移行した話 - SMARTCAMP Engineer Blog
                        • Rails開発でやっておくと良かったCI設定集 - STORES Product Blog

                          STORES 予約 でwebアプリケーションエンジニアをやっております。ykpythemindです。 Rails開発で、どのようなアプリケーションでも抑えておくとチーム開発が少し楽になるポイントがあります。今回はいくつか実例を載せながら紹介します。 アプリケーションの設計的な部分や実装には踏み込まず、すぐに導入できます。 あくまでRailsアプリケーションについての記事ですが、他言語やフレームワークを用いていても同様のことができます。 1. シードデータが壊れないようにCIで担保する 新しいメンバーが入って環境構築をしてもらう度にシードデータが壊れており、 db/seeds.rb *1 を直すという作業を何回か経験しています。db/seeds.rbで実行する内容をテスト中に実行しておくとメンテされるようになります。 # db/seeds.rb # 定数データが必要であればここで呼ぶ req

                            Rails開発でやっておくと良かったCI設定集 - STORES Product Blog
                          • AWS Code サービス群を活用して、CI/CD のための構成を構築しよう!のハンズオンをやってみた | DevelopersIO

                            CI/CD入門ハンズオン AWS DevOps Engineer Professionalの勉強のためにCodeシリーズを触ろうと思ったら、ほどよいハンズオンを見つけたのでやってみました。 AWS Codeシリーズをまとめて学習できるハンズオン git pushからのS3とEC2上にファイルが自動的に配置されるCI/CDを体験 動画見ながら手を動かしても2時間で終わりました ハンズオン動画・資料 AWS Hands-on for Beginners AWS Code サービス群を活用して、CI/CD のための構成を構築しよう! Agenda 1. 今回のハンズオンので構築する構成の紹介 + ハンズオンで登場するサービスの紹介 2. S3 をデプロイ先とした、CI/CD 環境を構築する【事前準備 + CodeCommit編】 3. S3 をデプロイ先とした、CI/CD 環境を構築する【Cod

                              AWS Code サービス群を活用して、CI/CD のための構成を構築しよう!のハンズオンをやってみた | DevelopersIO
                            • CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7

                              https://testnight.connpass.com/event/311263/

                                CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
                              • CI/CD Conference 2021 by CloudNative Days

                                CI/CD Conference 2021 by CloudNative Days Continuous 〜 技術を知り、試し、取り入れる 〜

                                  CI/CD Conference 2021 by CloudNative Days
                                • GitHub Immutable Actionsのご紹介 - APC 技術ブログ

                                  ACS事業部亀崎です。 GitHub Universe'24 で紹介され、でもそこまで大きく取り上げられていない機能を1つご紹介します。 それが GitHub Immutable Actoinです。 https://gh.io/immutable-actions 現時点ではPublic Previewという状態です。 Immutable Actionsとは 公開されている情報も交えてご紹介しましょう。 github.com github.com みなさんご存知のように GitHub Actionは標準ではGitHub Repositoryを使って提供します。 しかし昨今のSoftware Supply Chain Securityの動向もあり、できる限り外部からなにか不正なものが紛れ込むリスクを減らしたい、そういうニーズが広がっていると思います。 そこで利用されるのがImmutable A

                                    GitHub Immutable Actionsのご紹介 - APC 技術ブログ
                                  • Node.jsの“ブラックホールに立ち向かえ! 膨れ上がる「node_modules」の容量を削減する4ステップ

                                    「東京Node学園」は、Node.js日本ユーザグループ主催のNode.js勉強会です。36時限目の今回は、オンラインで開催されました。Naturalclar氏は、node_modulesを意識的に削減することで得られるメリットとその方法を発表しました。 宇宙の中で一番重い「node_modules」 Naturalclar氏:よろしくお願いします。「node_modulesのブラックホールとの向き合い方」という資料で発表します。Naturalclarです。 はじめにちょっと自己紹介すると、本名はJesseと申します。現在、株式会社stand.fmというところで、音声配信アプリを作っています。React NativeでAndroid・iOS向けのアプリを作っています。また、OSS活動をいろいろとやっていて、「React Native Community」というGithub Organiza

                                      Node.jsの“ブラックホールに立ち向かえ! 膨れ上がる「node_modules」の容量を削減する4ステップ
                                    • メルカリiOSアプリのBazelを使った高速・高信頼性ビルド | メルカリエンジニアリング

                                      ここまでBazel の利点をいくつか紹介しましたが、採用には懸念点もありました。次のセクションからは、どのような懸念があったか、それをどのように解決したのかを紹介します。 Xcode 統合 Bazel と Xcode の統合は Bazel の採用においてもっとも大きな懸念でした。 Xcode はビルドシステムと密結合したやや特殊な IDE なので、外部ビルドシステムとの統合が難しいのです。特に indexing や LLDB デバッグを正しく動作させるのは困難でした。 統合とはつまり、Bazel によるビルドのアウトプットを利用して Xcode がサポートする動作を再現することを意味していて、主に下記のような要件を満たす必要があります。 Bazel のビルド構成ファイル群を解析して Xcode プロジェクトを生成する Xcode ビルドの実行を抑制し、代わりに Bazel ビルドを実行する

                                        メルカリiOSアプリのBazelを使った高速・高信頼性ビルド | メルカリエンジニアリング
                                      • AWS SAMを使ったIaC and CI/CD

                                        nakanoshma.dev #25 で発表したAWS SAMの概要やSAM Pipelinesを使ったCI/CDパイプライン構築に関する資料です。

                                          AWS SAMを使ったIaC and CI/CD
                                        • BacklogのGitにCI/CDを導入する方法(AWS CodePipeline & TypeScript編)

                                          はじめにソースコードの管理にBacklogのGitリポジトリ、CI/CDにAWS CodePipelineを用いたかったのですが、CodePipelineの送信元にBacklogは指定出来ません。なの...

                                            BacklogのGitにCI/CDを導入する方法(AWS CodePipeline & TypeScript編) 
                                          • 初心者向け!GitHub Actions をはじめる

                                            はじめに プロジェクトにGitHub Actionsが設定されているけれど、何を実行しているのかよくわからない…という人は多いかもしれません。 今回、新規プロジェクトでゼロからGitHub Actionsを構築したので、その経験をもとにまとめました。 GitHub Actionsで何ができるのか知りたい方 構築の仕方がわからない方 GitHub Actionsをなんとなく知っているけど中身はよくわからない方 など初心者でも理解できる内容を目指しています! また、GitHub Actionsをローカルで実行する方法についても解説しているのでぜひ参考にしてください! GitHub Actions とは GitHub Actions は、ビルド、テスト、デプロイのパイプラインを自動化できる継続的インテグレーションと継続的デリバリー (CI/CD) のプラットフォームです。 要するに手動での作業を

                                              初心者向け!GitHub Actions をはじめる
                                            • Jest で落ちたアサーションを GitHub のアノテーションに出す - Diary of a Perpetual Student

                                              最近 GitHub Actions を弄くり倒すことにハマっていて、 GitHub の Checks API を利用して annotation を出すおもてなしをすることだけが生きがいだと思って生活していました。 そんな中、JavaScript (TypeScript) のコードのテストでよく使われている Jest で、どの assertion が落ちているかを annotation で分かりやすく表示したいと思っていました。自作で頑張ろうかな~と思って調べていると、 Jest 28.0.0 (2022年4月末ごろリリース)から Github Actions で annotation を出す reporter 機能が組み込まれていたという事実を知りました。 jestjs.io この便利機能が思ったより世の中で使われていない感じがしたので紹介します。 サンプル こちらをどうぞ: github

                                                Jest で落ちたアサーションを GitHub のアノテーションに出す - Diary of a Perpetual Student
                                              • pushしたら自動でUnityビルドが走る環境を手に入れる - きゅぶろぐ

                                                はじめに まだ手元の作業用マシンでUnityビルドを回してませんか? Unity2021でIL2CPPビルドが早くなったとはいえ、結構な時間のロスです。 何よりも「手元のマシンが一時的に使えなくなり作業が中断する」というのが最悪な体験です。 GitHub(←ここは何でも良い)にコードをpushしたら自動的にビルドをしてくれる。 それが2021年における最低限の開発環境だと考えているため、簡単に方法を紹介していきます。 でも高いんじゃないの?とお思い方、なんとGitHub Actionsは無料枠があります。 詳細は後述しますが、小さいプロジェクトなら毎月200回程度は無料でビルドすることが出来ちゃいます! 私事ですが、インディーゲーム開発者向けの開発効率化コンサルみたいな仕事を始めようと思っているので 「ビルド環境の構築もっと詳しく教えて」とか「こういう作業無駄だと思ってるんだけど自動化出来

                                                  pushしたら自動でUnityビルドが走る環境を手に入れる - きゅぶろぐ
                                                • GitHub Apps + GitHub Actionsで必要なアクセス権限のみ付与した一時的なアクセストークンを発行する | DevelopersIO

                                                  GitHub Apps + GitHub Actionsで必要なアクセス権限のみ付与した一時的なアクセストークンを発行する こんにちは、CX事業本部 IoT事業部の若槻です。 今回は、GitHub Apps + GitHub Actionsで必要なアクセス権限のみ付与した一時的なアクセストークンを発行してみました。 なぜGitHub Appsを使うのか GitHubではPersonal access tokensを使えばアクセストークンを簡単に発行することが出来ますが、スコープの粒度が粗く、操作可能なRepositoryの制限も出来ないため、必要以上のアクセス権限を付与してしまいがちです。 一方で、GitHub Appsを使用すれば、アクセス権限を細かく設定したアクセストークンを発行することが可能です。 About GitHub Apps - About apps - GitHub Doc

                                                    GitHub Apps + GitHub Actionsで必要なアクセス権限のみ付与した一時的なアクセストークンを発行する | DevelopersIO
                                                  • GitHub Actionsで実現する、APIキー不要でGitOps-likeなインフラCI/CD - JX通信社エンジニアブログ

                                                    ※ 今はGitHub ActionsでOIDCが使えるので、本記事の内容は少し古いです。*1 現場のルール等で「インフラを触るワークロードはオンプレでしか動かしてはならない」みたいなルールがある場合には多少参考になるかと思います。 SREのたっち(@TatchNicolas)です。 JX通信社では「インフラチーム」のようなものは存在せず、開発したチームが運用までやるFull-cycleなスタイルを取っています。AWS・GCPリソースの管理も特定のメンバーが担当するのではなく、必要とする人が必要な時に作成・修正等を行います。すると、terraformなどIaCのツールを利用する場合に「今リポジトリにあるコードは実態を正しく反映しているのか」「誰かが矛盾する変更を加えていないか」という問題が発生します。 CIツール上でterraformを実行することで、問題の一部は回避できるかもしれませんが、

                                                      GitHub Actionsで実現する、APIキー不要でGitOps-likeなインフラCI/CD - JX通信社エンジニアブログ
                                                    • ファインディでのGitHub Actions自動化の事例 - Findy Tech Blog

                                                      ファインディ株式会社でフロントエンドのリードをしております 新福(@puku0x)です。 GitHub Actionsは、CI/CD以外にも様々な業務の効率化に役立ちます。 この記事では、弊社で実施しているGitHub Actionsを使った自動化について紹介します。 自動化 担当者アサイン ラベル設定 リリース QAチェック項目の抽出 定期実行 まとめ 自動化 担当者アサイン 開発フローの中では、Pull requestを作ってからレビューに出すまでにいくつかのタスクを行うことがあります。 弊社では、Pull requestの作成者がAssignee(担当者)となる場合が多いため、↓こちらのActionを用いてアサインの自動化をしています。 github.com - uses: kentaro-m/auto-assign-action@v2.0.0 with: repo-token: $

                                                        ファインディでのGitHub Actions自動化の事例 - Findy Tech Blog
                                                      • ecspresso+ecschedule+lambrollでCI/CDを作った話 - トラストバンクテックブログ

                                                        前回の記事から間が空いてしまいました、SREのbutadoraです。 年末に向けた準備で忙しなくしているこの頃です。 今回はとある環境で実装したCI/CDのフローを紹介したいと思います。 今回のサービスアーキテクチャ 今回はPHP製WEBサービスをデプロイする環境が必要ということで、以下の様な設計としました。 WEBサービス本体 → ALB+ECS+RDS 定時バッチサービス → ECS (Task Scheduler)+RDS ファイル設置をトリガーにしたバッチサービス → S3+Lambda(コンテナイメージ)+RDS CI/CD 簡単な構成図はこんな感じです。 大きなポイントとしては、タイトルにある3種の各デプロイツールを組み合わせることで、開発側のリソース管理を切り出しているところです。 弊社ではAWSリソースの管理をTerraformで行っていますが、図にあるようなリソースまで管

                                                          ecspresso+ecschedule+lambrollでCI/CDを作った話 - トラストバンクテックブログ
                                                        • 【イベントレポート】CI/CD最前線〜今開発現場が直面している課題とは? Lunch LT - ZOZO TECH BLOG

                                                          はじめに こんにちは、計測プラットフォーム開発本部SREの纐纈です。 2023年6月23日にFindy社によるオンラインイベント「CI/CD最前線〜今開発現場が直面している課題とは? Lunch LT」が開催されました。このイベントでは、株式会社アンドパッドさん、株式会社サイバーエージェントさん、エムスリー株式会社さんから一人ずつ、弊社からも私がLTをしてきましたので、こちらのブログでも報告させていただきます。 findy.connpass.com 今回のイベントでは、CI/CDを社内で導入・推進されている、もしくはCI/CDの取り組みの具体的な方法や事例を知りたい方が参加者の対象となっていました。そのため、ここ最近CI/CDの改善に努めていた弊チームの取り組みがちょうど良く紹介できると思い、発表者として手を上げさせてもらいました。 今回の発表に使ったスライドはこちらです。 speaker

                                                            【イベントレポート】CI/CD最前線〜今開発現場が直面している課題とは? Lunch LT - ZOZO TECH BLOG
                                                          • CI/CDのボトルネックを把握できていますか?BigQueryでビルド情報ダッシュボードを構築した話

                                                            https://event.cloudnativedays.jp/cicd2021/talks/1152 開発人数が多く、規模の大きいプロダクトでは最終的な成果物をビルドするだけで1時間以上かかってしまうことも珍しくありません。ですが最初からそれほど時間がかかっていたわけではなく、時間とともに巨大…

                                                              CI/CDのボトルネックを把握できていますか?BigQueryでビルド情報ダッシュボードを構築した話
                                                            • GitHub Actions Workflow 作成 Tips - NTT Communications Engineers' Blog

                                                              はじめに こんにちは、クラウド&ネットワークサービス部で SDPF のベアメタルサーバー・ハイパーバイザーの開発をしている山中です。 先日 GitHub Actions self-hosted runners のオートスケーリング構成の紹介(クラウドサービス開発を支える CI の裏側) の記事で、自作の runner controller と Docker を用いた、オンプレミスでの CI 環境構成についてご紹介しました。 今回の記事では、構築した CI 環境上で動かしている workflow の紹介をしながら、workflow 作成についての Tips をいくつかご紹介したいと思います。 engineers.ntt.com 記事を書いたモチベーション 実際の業務で GitHub Actions を使用するにあたって、ありがちな悩みを解決するための workflow の作成事例や工夫などの

                                                                GitHub Actions Workflow 作成 Tips - NTT Communications Engineers' Blog
                                                              • データセンター仮想化ツール Placemat v2の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                こんにちは、Necoチームの鈴木です。 Necoチームでは仮想データセンター構築ツールPlacematを使って、データセンターを丸ごと仮想化し、その上でサーバーのプロビジョニングやKubernetesクラスタ構築、Kubernetes上で動作するアプリケーションのTest Suitesを実行しています。 Placematはプロジェクト初期に開発されたツールで、古いツールに依存していたり、実装方式や設計が洗練されていないなどの課題があっため、4ヶ月前からv2を開発開始し、先日リリースしました。 本記事ではその機能と使い方、今後のCI改善 Placemat on Kubernetesについて紹介します。 特徴 シンプルな構成 YAMLの設定ファイルで多彩なデータセンター環境を再現可能 多彩なVM設定 仮想BMC シンプルな構成 Placematはシングルバイナリで構成されています。 使い方もシ

                                                                  データセンター仮想化ツール Placemat v2の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                • GitHub Actions ステップアップ Tips 〜高速化・セキュリティ・設計〜 #GitHubActions_findy | ドクセル

                                                                  スライド概要 2024/08/22 開催 「GitHub Actionsの最適化どうしてる? 開発者体験を向上させる運用術」で発表する資料 イベントconnpassページ: https://findy.connpass.com/event/326645/

                                                                    GitHub Actions ステップアップ Tips 〜高速化・セキュリティ・設計〜 #GitHubActions_findy | ドクセル
                                                                  • AWS CI/CD for Amazon ECS ハンズオンをやってみた | DevelopersIO

                                                                    概要 AWS CI/CD for Amazon ECS ハンズオンをやってみました。 ハンズオンは下記の3本立てです。3時間程度で終わりました。 サンプルアプリのコンテナイメージ作成 AWS Fargate環境構築とコンテナ実行 CI/CDのパイプライン作成 ハンズオンを進めながら個人的なメモを補足した内容です。実際のハンズオン資料を見ながら作業をすすめ補足資料になればよいなと思っています。 CodeBuild時にDocker Hubのレートリミットに引っかかるとつまづくと思うのでそこの回避方法を載せています。 まず、AWS Fargateとは ハンズオン1 Fargateでコンテナを実行するまでの前準備する内容です。 ハンズオン資料より VPC、ALB作成 ハンズオンの手順ではVPCはCloudFormationで構築します。コードはハンズオン資料内にダウンロードリンクがあります。ALB

                                                                      AWS CI/CD for Amazon ECS ハンズオンをやってみた | DevelopersIO
                                                                    • GitHub Actions self-hosted runners のオートスケーリング構成の紹介(クラウドサービス開発を支える CI の裏側) - NTT Communications Engineers' Blog

                                                                      はじめに こんにちは、クラウド&ネットワークサービス部で SDPF のベアメタルサーバー・ハイパーバイザーの開発をしている山中です。 先日 NTT Engineers' Festa という技術イベントが開催され、多くのエンジニアで賑わいました。 NTT Engineers' Festa は NTT グループのエンジニアが技術交流するイベントであり、ハンズオンやディスカッション、登壇発表など様々なセッションが数日に渡って行われます。 私もこのイベントに参加し、自分のチームで行っている GitHub Actions の self-hosted runners を活用した Continuous Integration(以下、CI)事例について発表をしました。 概要としては、オンプレミスの VMware vSphere(以下、vSphere)環境上で自作の Ruby アプリケーションと Docke

                                                                        GitHub Actions self-hosted runners のオートスケーリング構成の紹介(クラウドサービス開発を支える CI の裏側) - NTT Communications Engineers' 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とい

                                                                        • npm ciのキャッシュ方式の検討

                                                                          結論から言うと、node_modulesをキャッシュしてnpm ciの実行を省略するのが、多くの場合には有効そうです。 はじめに CIで npm ci を使うとき、実行時間短縮のためにキャッシュの利用を検討することになると思います。このとき、どのようにキャッシュするのが良いのでしょうか? よく知られているキャッシュ方式として、以下の二通りの方式があります。 ~/.npmをキャッシュする方式 node_modulesをキャッシュする方式 それぞれの違いについて、詳しく見てみましょう。 ~/.npmをキャッシュする方式 npm ci を実行すると、POSIX系のOSではデフォルトで ~/.npm にキャッシュデータが書き込まれます。package-lock.json をキーにこのディレクトリをキャッシュしておくことで、次回以降の npm ci 実行時にこのキャッシュデータを利用しよう、というの

                                                                          • Findy転職フロントエンドの開発生産性を向上させるためにやったこと - Findy Tech Blog

                                                                            こんにちは、ファインディ株式会社でフロントエンドのリードをしております 新福(@puku0x)です。 この記事では、転職サービス Findy の開発チームにおける開発生産性の向上に対する取り組みをご紹介します。 以前の状況 モノリスの解体 開発基盤の刷新 コンポーネント設計の刷新 テストの拡充 CI の高速化 改善の効果 まとめ 以前の状況 2020年頃の Findy は Ruby on Rails と React のモノリス構成で作られていました。 機能の増加に従いコードが複雑化し、しだいに開発スピードが伸び悩むようになりました。 ここで Findy Team+ で算出した当時のリードタイムを見てみましょう。 2020年のFindyのリードタイム 上記のグラフから次のことがわかります。 改修が本番に適用されるまで 約1週間 かかる プルリクエストがレビューされるまで 約5日 放置される

                                                                              Findy転職フロントエンドの開発生産性を向上させるためにやったこと - Findy Tech Blog
                                                                            • 静的サイトのCI/CDでも侮るなかれ!Docs as Codeに沿ったセキュアな開発プロセスの実践/secure-docsascode-cicd-for-static-sites

                                                                              「ServerlessDays Tokyo 2024」での登壇資料です。 イベントURL:https://serverless.connpass.com/event/325659/

                                                                                静的サイトのCI/CDでも侮るなかれ!Docs as Codeに沿ったセキュアな開発プロセスの実践/secure-docsascode-cicd-for-static-sites
                                                                              • 【改訂版】継続的にiOSアプリのパフォーマンスを計測する - DeNA Testing Blog

                                                                                はじめに SWETグループiOSチームのkariad(@kariad_uu)です。 本記事はiOSDC 2020 Japanにて発表した「継続的にアプリのパフォーマンスを計測する」の内容を元にブログという形で改めて紹介する記事となります。 発表時のスライドは以下を参照ください。 iOSチームではiOSアプリのパフォーマンス計測に取り組んできました。 iOSアプリのパフォーマンス計測方法はたくさんありますが、中でもInstrumentsを利用したパフォーマンス計測とその自動化について紹介します。 なぜパフォーマンス計測が必要なのか? 取り組んだ計測方法についてご紹介する前にアプリにとってパフォーマンスとその計測がなぜ重要なのかという点を説明します。 起動に時間がかかる、読み込みに時間がかかるアプリは動作が遅くユーザにストレスを与えてしまいます。 短時間で熱くなってしまうアプリでは端末が熱くて

                                                                                  【改訂版】継続的にiOSアプリのパフォーマンスを計測する - DeNA Testing Blog
                                                                                • GitHub Actionsのmatrixを動的に生成してGoの最新安定バージョンでテストする | おそらくはそれさえも平凡な日々

                                                                                  Goのライブラリを提供している場合、Goの最新の安定バージョンでテストしたくなることがあるでしょう。具体的にはマイナーバージョンの直近2バージョン、今だと1.18と1.17です。GitHub Actions定義への記述は以下のようになるでしょう。 jobs: test: runs-on: ubuntu-latest strategy: matrix: go-version: ['1.17', '1.18'] steps: - uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - run: go test ./... しかしこのようにベタに書いてしまうと、Goのバージョンが上がったときにチマチマ上げるのが地味にめんどくさい。なのでこれを動的に生成したい。 これは事前にGoの安定バージョン一覧を取得するjo

                                                                                    GitHub Actionsのmatrixを動的に生成してGoの最新安定バージョンでテストする | おそらくはそれさえも平凡な日々

                                                                                  新着記事