タグ

CIに関するmikage014のブックマーク (50)

  • 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
  • RailsアプリのCI高速化

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

  • テストでのデータベース単位の捉えかた - 日々常々

    データベース(に限らずあらゆる永続化リソース)を使用するテストをいかにして行うかはいつだって悩みの種です。この悩みは「どうやったらデータベースを使用するテストを行えるかわからない」ではなく「なんとかやってるけど、不満のようなものがある」というものになるかと思います。 やりかたはたくさんあるのですが、その優劣は条件なしに比較する意味がないくらい、条件に依存します。どんな選択肢も「この条件なら最適」と言えてしまうだけに、広いコンテキストで「こうするのがベスト」とも言いづらいのです。 前提 xUnit Test Patterns を下敷きにします。 ユニットテストでの話です。他でもある程度通じます。 具象イメージはSpringBootを使用するWebアプリケーションです。そこまでべったりな内容ではありませんが、背景にあるとご理解ください。他でもそれなりに通じます。 データベースを使用するテストで

    テストでのデータベース単位の捉えかた - 日々常々
  • 今までありがとうTravis CI、さよならTravis CI - xuwei-k's blog

    しっかり調査してないですが、こういったCIサービスがほぼ存在しない時期にほぼほぼ最初に登場して、一時期明らかにデファクトスタンダードだったと思うので、昔からOSS活動している人ほど、とても多く利用してお世話になっていたと思うので、そういう人であればあるほど、この状況は、怒りではなく、悲しいというか残念というか、辛いと思うんですよね・・・。 今までありがとう・・・。 長年Travis CI使ってきたので、GitHub Actionsによって潰される(のかどうなるのかわからないけど)、の可愛そう、という気持ちが若干あるけど、とはいえ、こういうのよくある話な気はするな…— Kenji Yoshida (@xuwei_k) 2020年10月7日 買収されて方針変わったのかなと感じるところもありますし、OSSプロジェクトが無料で使っていても会社としては辛いのではという気もするので今までの感謝の気持ち

    今までありがとうTravis CI、さよならTravis CI - xuwei-k's blog
    mikage014
    mikage014 2020/11/06
  • 新 GitHub Actions 入門 - 生産性向上ブログ

    github.blog GitHub Actions の新バージョンが 8/8 に発表されました。 www.kaizenprogrammer.com 自分は過去にも旧バージョン時に GitHub Actions の入門記事を書いていたのですが、新バージョンがこれまでと大きく変わってしまっているので、この記事ではあらためて GitHub Actions についていろいろ調べたり動かしてみたりした内容をまとめます。 目次 注意事項 GitHub Actions とは これまでの GitHub Actions とどこが変わったか コンセプト マルチプラットフォーム対応 HCL から YAML へ 料金 その他 GitHub Actions と Azure Pipelines 簡単な例 (Hello, World) ワークフローの設定 ワークフローとは ワークフローを実行するイベント ワークフロー

    新 GitHub Actions 入門 - 生産性向上ブログ
  • circleciのbuild/test/deployをgithub actions(beta)に移行した - 839の日記

    まだ機能的に足りないところもあるが、頑張ったら使える感覚だった。 githubにもfeedbackが送れる所があれば送ろうと思う。 circleciでやっていたことはざっくり書くと以下。 test系 golangbuild/lint/test helm chartのlint helm templateで吐き出されたyamllint build系(only master) base imageのbuild & push k8s上で動かすprod imageのbuild & push deploy系(only master) GKE上にhelm secrets upgrade これをgithub actionsに移行した際にcircleciとの差分を感じた機能は以下。 slack通知 自分のリポジトリでは未実装、デフォルトは失敗するとメール通知が来る 未確認だが多分いろいろな人がbeta向

    circleciのbuild/test/deployをgithub actions(beta)に移行した - 839の日記
    mikage014
    mikage014 2019/08/15
  • E2EテストをSelenium Webdriver からCypress.io に移行した話 - 一休.com Developers Blog

    こんにちは。 一休.comの開発基盤を担当しています、akasakasです。 今回は、E2EテストをSelenium WebdriverからCypress.ioに移行した話をしたいと思います。 一休のE2Eテスト事情 あれから、数年が経過して、、、 どうしてこうなった??? SeleniumではSPAへの対応が難しくなってきた なんでもかんでもSeleniumで頑張ろうとした弊害 いざリプレイスへ・リプレイスをする上で気をつけたこと 開発者フレンドリー 安定性 然るべきレイヤーでテストする(何でもかんでもブラウザテストにしない) 技術選定 Cypress.io とは? Cypress.io のいいところ セットアップが楽 テストを書くことだけに集中できる CI連携が楽 Cypress.io の頑張って欲しいところ その他、移行に関しての細かい話 重複テストケースの排除 Page Objec

    E2EテストをSelenium Webdriver からCypress.io に移行した話 - 一休.com Developers Blog
  • CircleCIにreviewdogを飼うことにした。 - patorashのブログ

    Rubocopを一応入れているのに、滅多に動かしてなくてあんまり意味を成していなかった。issueにずっとあったCIにRubocopを取り入れるというやつに着手しようと思ってようやく取り組み始めた。 reviewdogを知る CircleCIのワークフローにRubocopのチェックを入れて、自動的にコメントをしてもらいたいなぁと思って調べていたら、reviewdogを知った。 blog.toshimaru.net 自分がやりたかったことはまさにこれだったので、これを参考にすることに。 reviewdogのインストールは家を参考にした。 github.com バイナリで配布もされているが、goenvでgoを入れているので、go getを使って入れた。 $ go get -u github.com/haya14busa/reviewdog/cmd/reviewdog reviewdogが実行

    CircleCIにreviewdogを飼うことにした。 - patorashのブログ
    mikage014
    mikage014 2019/04/05
  • JenkinsやSpinnakerなどの開発をホストする「Continuous Delivery Foundation」発足。CI/CDの普及とエコシステムの発展を促進

    JenkinsやSpinnakerなどの開発をホストする「Continuous Delivery Foundation」発足。CI/CDの普及とエコシステムの発展を促進 Linux Foundationは「Continuous Delivery Foundation」の設立を発表しました。 Continuous Delivery Foundationは、次の4つの価値を基原則とするとされています。 Continuous Deliveryは開発者やチームに力(パワー)を与え、高品質のソフトウェアの迅速な開発を実現できると信じます オープンソースソリューションはソフトウェアデリバリのライフサイクル全体を包括的に解決できると信じます コラボレーションと相互運用性を通じてオープンソースのエコシステムやベンダニュートラルなプロジェクトを維持し、育成していきます。 これらの考えを支持し、実践している

    JenkinsやSpinnakerなどの開発をホストする「Continuous Delivery Foundation」発足。CI/CDの普及とエコシステムの発展を促進
    mikage014
    mikage014 2019/03/13
  • CIマニアから見た各種CIツールの使い所 - くりにっき

    社内外でちょいちょい聞かれるのでメモ。 前置き GitHubを使ってる場合 ライブラリを作ってる場合 Travis CIを選択する理由 2020/4/21追記 Travis CIを選択しない理由 アプリを作ってる場合 CircleCIとWerckerの共通点 CircleCIとWerckerの機能差異 GitLabを使ってる場合 GitLab CIの優位点 Jenkinsなどを使った方がいい場合 追記:2018/12/8 前置き 100%自分の主観なので偏ってます SaaSかオンプレならSaaS派。(自分でサーバの面倒身たくない) 自分が使ったことがないものは紹介していません 今回紹介してるTravis CI, CircleCI, Wercker, GitLab CI, Jenkinsに関しては仕事趣味で各3〜4年くらいは使ってるはず GitHubを使ってる場合 ライブラリを作ってる場合

    CIマニアから見た各種CIツールの使い所 - くりにっき
    mikage014
    mikage014 2018/12/08
  • CircleCIで始めるCI/CD導入の基本のキ (1/4):CodeZine(コードジン)

    前回はCI/CDに関する一般的な解説をしました。今回と次回でCI/CDの代表サービスの一つであるCircleCIを使って実際にCI/CDを設定する感覚を学んでもらいたいと思います。今回はCircleCIの設定方法の基礎から始めるので、記事の前半は比較的入門者向けの内容ですが、記事の後半では最新機能のVer. 2.1も紹介します。 これからCI/CDを導入する方にも、すでに活用されている方にも、CircleCIを通してCI/CDに対する理解を深めるお手伝いができれば幸いです。 前回の記事:「CI/CDのエキスパートが解説:CI/CDとは何か? なぜ今、必要とされるのか?」 対象読者 前回の記事を読んでCI/CDに興味を持たれた方 CI/CDについて学びたい方 CircleCIを使ってみたい方 CircleCI Ver. 2.1について知りたい方 必要な環境/知識 GitHubのアカウント ソ

    CircleCIで始めるCI/CD導入の基本のキ (1/4):CodeZine(コードジン)
    mikage014
    mikage014 2018/11/30
  • ホーム - CloneTracker

    当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。

    ホーム - CloneTracker
    mikage014
    mikage014 2018/06/13
  • 「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化

    「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化 ソフトウェアの開発プロセスにおいて、「Jenkins」はビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られています。 そのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、GitDockerKubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです。 Jenkins Xは、Git/Docker/Kubernetes環境に特化 オリジナルのJenkinsは汎用的なビルドやテストの自動化ツールとして、さまざまな環境やツールと連係できるように作られています。そのため柔軟なコンフィグレーションが可能になっていますが、一方でそれが導入や

    「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化
  • Code coverage with gocov and wercker

    Code coverage with gocov and wercker
    mikage014
    mikage014 2017/04/18
    マジか
  • CircleCI 2.0に移行して新機能を活用したらCIの実行時間が半分になった話 - クラウドワークス エンジニアブログ

    ⠀人 / ⁰⊖⁰ \ オカメインコエンジニアの五十嵐(@ganta0087)です。 CrowdWorksでは、サービスのCI環境としてCirlceCIを利用しています。 今回、CircleCI 1.0から2.0に移行すると同時に、新機能のキャッシュをフル活用したことで、コストを増加させることなくCI実行時間を半分にすることができました。 今回の記事では、CirlceCI 2.0のメリットや、どのようなチューニングを行ったのかをご紹介します。 CircleCI 2.0について CircleCI 2.0は現在ベータ版となっており、「CircleCI 2.0: Beta Access - CircleCI」から申し込むことができます。(試してみたところ個人のリポジトリではすぐに利用できるようです。) 申請したOrganizationのすべてのプロジェクトで突然バージョンが切り替わるわけではなく、

    CircleCI 2.0に移行して新機能を活用したらCIの実行時間が半分になった話 - クラウドワークス エンジニアブログ
    mikage014
    mikage014 2017/04/07
  • AWS CodeBuild ― フルマネージドのビルドサービス | Amazon Web Services

    Amazon Web Services ブログ AWS CodeBuild ― フルマネージドのビルドサービス 開発者は通常、ソースコードの変更に対する継続的インテグレーションのビルドとテストを実行するために、共有のビルドサーバを構築し運用しなければいけません。継続的インテグレーションを運用するのは面倒なことなので、多くの開発者はそれを避けてローカルマシンでビルドを実行します。これによって、ある開発者の環境では動作するコードが最終的な番環境ビルドで動作しないという状況が、しばしば引き起こされます。 多くの開発チームは、CI/CD(継続的インテグレーション / 継続的デプロイ)パイプラインの構成要素としてビルドファームを構築します。ビルドファームの構築と運用はコストが高く、また独特のスキルが求められます。普段はビルドファームはあまり使われていませんが、修羅場の時には利用率は100%に達し、

    AWS CodeBuild ― フルマネージドのビルドサービス | Amazon Web Services
    mikage014
    mikage014 2016/12/12
    OS Xのビルド環境はできないかな?
  • Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ

    こんにちは、QAエンジニアの井上恵一です。好きな飲み物は一番搾りと韃靼そば茶です。 初回からニッチなネタではありますが、昨年入社した直後に行った、 iPad アプリのテスト仕様書の管理方法を見直したときの話を紹介しようと思います。 見直しのきっかけ トレタは飲店向けの予約/顧客台帳アプリです。だれでもかんたんに使いこなせるシンプルさを追求してはいますが、製品の進化に伴ってそのテストケース数はすでに数千という単位にまで膨れあがっています。 製品の品質を安定させるためには、テストの内容自体をブラッシュアップすることが重要なのは言うまでもありません。ただ、安定した製品を永続的に提供していくためには、それに加えて、膨大なテストケースを効率よくメンテナンスし続けるためのプロセス作りも欠かせません。 入社のタイミングでトレタのテスト設計を担当することになったので、テストケースの管理方法についてもいち

    Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ
    mikage014
    mikage014 2016/07/08
    テスト仕様書の管理
  • CIサービスまとめ(資金調達編) - Qiita

    CIサービスを提供している会社ってたくさんありますよね。機能比較も大事ですけど、各企業の継続性や今後の機能追加意欲なども気になったので、資金調達に成功している会社を調べてみました。 以下のリスト中、Travis CI以外の4社は400万〜2800万ドルの出資を獲得しています。特に直近で資金調達ができているCodeshipとWerckerはサーバ・インフラ系の投資及び人員増強にお金が使えそうです。(追記:と思っていたらCircleCIが巨額の資金調達を行ったというニュースが!資金面でもCircleCIが一歩リードといったところでしょうか) 一方で、Travis CIは株式での資金調達なしでここまで来ているんですね。現状の知名度では一人勝ちですし、有料プランも強気の価格設定なので、既に黒字化できているのかもしれません。外部出資なしでイグジットできたらすごいですね。 Travis CI 社員数:

    CIサービスまとめ(資金調達編) - Qiita
    mikage014
    mikage014 2016/04/28
  • CircleCI + Docker で Infrastructure CI (Chef + Serverspec) 環境を構築した - kakakakakku blog

    近況 3月から DevOps 関連の技術的負債の解消に取り組んでいて,動かなくなった Chef を直したり,秘伝のタレ(手動)で構築されたサーバ設定を Chef にリバースエンジニアリングしたり,Serverspec を導入して稼働中のサーバの差異を確認したりしている. 他にもウェブサーバのパフォーマンスチューニングをしたり,Zabbix / Kibana / CloudWatch で可視化したり,不要なアラートを消したりもした.あと Vagrant 環境を自動構築できるようにしたり,Packer を使って Vagrant Box を改善したり,デプロイ手順を正常化したり,テストの品質向上の目的で Capybara を導入したりもした. 最近はキャッシュサーバをリプレイスしたり,AWS のネットワーク構成を変更するなど,とにかく様々な施策を試しているけど,全然まだまだという感じで,圧倒的成

    CircleCI + Docker で Infrastructure CI (Chef + Serverspec) 環境を構築した - kakakakakku blog
  • Jenkins 再入門

    Jenkinsをカオスにしないための運用についての発表資料です。 まもなくリリースのJenkins 2.0についてもまとめています。Read less

    Jenkins 再入門