Suche senden
Hochladen
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
•
2 gefällt mir
•
6,753 views
Recruit Lifestyle Co., Ltd.
Folgen
自動化を支えるCI/CDツールの私の選択
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 23
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
Guide To AGPL
Guide To AGPL
Mikiya Okuno
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
Empfohlen
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
Guide To AGPL
Guide To AGPL
Mikiya Okuno
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
例外設計における大罪
例外設計における大罪
Takuto Wada
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Masahito Zembutsu
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
Yuta Imai
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
Unified JVM Logging
Unified JVM Logging
Yuji Kubota
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
Akihiro Kuwano
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
Hide Koba
Weitere ähnliche Inhalte
Was ist angesagt?
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
例外設計における大罪
例外設計における大罪
Takuto Wada
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Masahito Zembutsu
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
Yuta Imai
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
Unified JVM Logging
Unified JVM Logging
Yuji Kubota
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
Akihiro Kuwano
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
Was ist angesagt?
(20)
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
例外設計における大罪
例外設計における大罪
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Unified JVM Logging
Unified JVM Logging
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
DockerコンテナでGitを使う
DockerコンテナでGitを使う
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Ähnlich wie 自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
Hide Koba
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
Visual studio de debug
Visual studio de debug
Kazushi Kamegawa
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
BIGLOBE Tech Talk
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
CruiseControl.NET設置
CruiseControl.NET設置
Kuniaki Igarashi
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
Taku Unno
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
XPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_Hasegawa
Tokyo, Japan
Personal Cloud Automation
Personal Cloud Automation
Etsuji Nakai
アジャイル開発&TFS導入
アジャイル開発&TFS導入
You&I
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Ähnlich wie 自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
(20)
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Visual studio de debug
Visual studio de debug
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
CruiseControl.NET設置
CruiseControl.NET設置
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
XPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_Hasegawa
Personal Cloud Automation
Personal Cloud Automation
アジャイル開発&TFS導入
アジャイル開発&TFS導入
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Mehr von Recruit Lifestyle Co., Ltd.
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
Recruit Lifestyle Co., Ltd.
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
OOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なこと
Recruit Lifestyle Co., Ltd.
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
Recruit Lifestyle Co., Ltd.
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
Recruit Lifestyle Co., Ltd.
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
Recruit Lifestyle Co., Ltd.
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナー
Recruit Lifestyle Co., Ltd.
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチ
Recruit Lifestyle Co., Ltd.
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
Recruit Lifestyle Co., Ltd.
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Recruit Lifestyle Co., Ltd.
データから価値を生み続けるには
データから価値を生み続けるには
Recruit Lifestyle Co., Ltd.
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
Recruit Lifestyle Co., Ltd.
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤
Recruit Lifestyle Co., Ltd.
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
Recruit Lifestyle Co., Ltd.
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方
Recruit Lifestyle Co., Ltd.
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
Recruit Lifestyle Co., Ltd.
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
Recruit Lifestyle Co., Ltd.
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡
Recruit Lifestyle Co., Ltd.
Refactoring point of Kotlin application
Refactoring point of Kotlin application
Recruit Lifestyle Co., Ltd.
Mehr von Recruit Lifestyle Co., Ltd.
(20)
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
OOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なこと
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナー
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチ
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
データから価値を生み続けるには
データから価値を生み続けるには
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡
Refactoring point of Kotlin application
Refactoring point of Kotlin application
Kürzlich hochgeladen
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Kürzlich hochgeladen
(9)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
1.
自動化を支える CI/CDツールの私の選択 〜 何をするためにCI/CDツールを選ぶか 〜 2017/03/07 リクルートライフスタイル 関根
康史
2.
自己紹介 ● 関根 康史
( @AHA_oretama ) ● リクルートライフスタイル ○ 2015/8 〜 ● ブッキングテーブル → (SET 活動中)
3.
What’s SET ? The
SET or Software Engineer in Test is also a developer role except their focus is on testability. ミッション プロダクト・サービスの品質向上⤴ エンジニアの開発生産性向上⤴ 何をするか サービスの品質を向上させる ために様々なボトルネックを解消していく ※ 社内にCET,SWATというチームがいるため、SET,SWET以外の名前を考えてます…
4.
自動化を支えるCI/CDツール 非常に多くのツールが存在 ただし… ● どれを選べばいいか分からない ● 運用をどうするか ●
(どのツールを選んでも) テストが増えればCIが遅くなる という問題が発生する https://stackshare.io/search/q=continuous-integration
5.
今日お話すること ● メインで解決したかったこと ● CI/CDツールの選定理由 ●
CI/CDツールの環境・構成 ● CI/CDツール以外での対応 CI/CDツールは何が一番よいかというお話ではなく、 こういう理由でこうした、というお話です。
6.
リクルートライフスタイルには多くのサービスがあるが、 (ServerSideを中心に)CI単体テストの実行に数時間かかるものも存在した ⇒ ✓ リリース効率・頻度のアップ
✓ 開発者への早期のフィードバックを行う そのために、CI単体テストの実行時間を短時間にする! メインで解決したかったこと
7.
CI単体テストは速いほうがよい ⇒ 不具合は早く見つける方が対策費用を抑えられる ※一般にCIは10分以内に終わるのが良い、と言われている。 遅くとも20分以内に終わるのが望ましい。 逆に遅くなったときに起こりうることは? ● 別の人のコミットが混じりやすくなり、テストの失敗原因の特定に時間がかかる ●
作成者が作ったものを忘れる ● 作成者が自分の分のコミットでCIが回っているか忘れる ● エンジニアがテスト結果に興味がなくなる ● テストの失敗したまま放置されやすくなる ● テスト自体回さなくなってしまう ● リリース日にエラーしているとその日のリリースをとりやめなければならなくなる ● 緊急リリースを行う前にCIを回さず、デグレが本番で発生する CI単体テストの速度の重要性
8.
CI単体テストを速くするために やったこと・やるつもりのこと ● CI/CDツールの選定 ● 環境の移行・構成 ●
CI単体テストのよくある問題の解決 ● プルリクエストのCI単体テスト時間の最適化(予定) ● 周辺ツールの整備(予定) =今日お話すること(残り)
9.
CI単体テストを速くするために やったこと・やるつもりのこと ● CI/CDツールの選定 ● 環境の移行・構成 ●
CI単体テストのよくある問題の解決 ● プルリクエストのCI単体テスト時間の最適化(予定) ● 周辺ツールの整備(予定) =今日お話すること(残り)
10.
CI/CDツールにJenkinsを選んだ理由 候補として上がったのはJenkins,CircleCI セキュリティ上の理由からオンプレ前提 Jennkins 2.X CircleCI コスト
無料 $35 / User () per month with annual contract 運用 大変になりがち - 型 プラグイン型 ex.Jenkins内でカバレッジを可視化しつづける 特化型(CI/CDに特化) ex. カバレッジを取りつづけるならCoveralls,Codecov などと連携しなければならないが、オンプレで運用する 必要あり 環境 コンテナもサポートしているが、 各プロジェクトで環境を定義することが多い コンテナ型 ビルド環境の独立性を確保 ジョブ定義 Pipelineの登場 yml
11.
● Jenkins 2.Xからデフォルトインストールされる機能 ●
Pipeline as Code ○ 変更履歴を管理、rollback、レビュの実施 ● (再起動後の)永続性 ● 手動オペレーションとの融合 Scripted Pipeline ✓ Jenkins 2.Xの初期のデフォルトPipeline ✓ 柔軟な記述が可能な反面、記述が煩雑になりやすい Declarative Pipeline (since 2017/02/03, Declarative Pipeline Syntax 1.0 is now available) ✓ シンプルに宣言的に扱える ✓ Declarative Pipelineの処理中にScripted Pipelineの構文を使うこともできる Declarative Pipelineを主に使い、柔軟な表現部分が必要な部分にはScripted Pipelineを使うの がよいと思う。 Jenkins 2.X Pipeline
12.
pipeline { agent any stages
{ stage('Example') { steps { echo 'Hello World' } } } post { always { echo 'I will always say Hello again!' } } } Jenkins 2.X Declarative Pipeline Declarative Pipelineを 使うためpipelineで囲む 処理は stages -> stage -> steps で定義 pipelineの最後に行う処理。 条件は変更可能 (alwaysは必ず実行)
13.
pipeline { agent { docker
{ image 'maven:3-alpine' label 'my-defined-label' args '-v /tmp:/tmp' // dockerに渡る引数 } } stages { stage('Example Build') { steps { echo 'Hello, Docker' } } } } Jenkins 2.X Declarative Pipeline agentにDockerも指定可能
14.
pipeline { agent any tools
{ maven ‘apache-maven-3.0.1’ } trigges { cron(‘H 4/* 0 0 1-5’) } stages { stage('Example Build') { steps { sh 'mvn -B clean verify' // toolsで指定したツールが PATHに登録され、ツールを実行できるようになる } } } } Jenkins 2.X Declarative Pipeline AutoInstallしたツールを使用できる ● maven ● jdk ● gradle のみ ジョブの起動トリガー ● cron ● pollScm のみ
15.
pipeline { agent any stages
{ stage('Example Deploy') { when { branch 'production' } echo 'Deploying' script { def browsers = ['chrome', 'firefox'] for (int i = 0; i < browsers.size(); ++i) { echo "Testing the ${browsers[i]} browser" } } } } } Jenkins 2.X Declarative Pipeline ブランチがproduction以外は このstageを実行しない Scriptブロック内では Scripted Pipelineを使用できる
16.
CI単体テストを速くするために やったこと・やるつもりのこと ● CI/CDツールの選定 ● 環境の移行・構成 ●
CI単体テストのよくある問題の解決 ● プルリクエストのCI単体テスト時間の最適化(予定) ● 周辺ツールの整備(予定) =今日お話すること(残り)
17.
環境の移行・Jenkinsの構成 Oracle 社内サーバ Slave Slave ● 性能が良くない社内サーバから
AWSへ(性能&安定性UP) ● ジョブ数に応じて、AMIからSlaveを自動生成するようにして自動でスケール ● RDS内部でスキーマを切り、 Slaveごとに別の仮想DBを用意 ● Slave構成にすることでテストの並列実行が可能に
18.
Jenkins Slave EC2
vs ECS EC2 Slave ECS(EC2 Container Service) タイプ インスタンス Docker ベース AMIからインスタンス起動 Docker Imageから起動 スレーブ管理者 主にインフラ 主に開発者 スケール ジョブが滞留したらスケールする ECS Auto Scaling に対応 メリット 同じ環境のプロジェクトで使いやすい 簡単に始められる 環境がクリーン 起動が早い デメリット 起動に若干時間がかかる 環境がカオティックになりやすい イメージ作成・管理が必要 現時点ではEC2 Slaveを採用。 ● 既存プロジェクトがDocker未使用のところが多い ● Jenkinsはプロジェクト単位で立てているため、あまり環境がカオティックにならない
19.
CI単体テストを速くするために やったこと・やるつもりのこと ● CI/CDツールの選定 ● 環境の移行・構成 ●
CI単体テストのよくある問題の解決 ● プルリクエストのCI単体テスト時間の最適化(予定) ● 周辺ツールの整備(予定) =今日お話すること(残り)
20.
CI単体テストのよくある問題の解決 問題 解決 10000件のデータ登録でエラーになるテストケースで、 10000件のデータを登録しようとしている。 上限をテスト内で変更し、 大量データをいれないようにする。 Debugレベルのログが大量に出力されてしまい、 ログファイルも開けない。CI単体テストも遅くなる。 適切なログレベル(Error またはWarn以上)に設定 する。 本番環境でしかつながらないサーバに対して、 通信を行って通信エラーになるまで数秒間待機してしまう。 テスト用の通信しないクラスを作成して、 上書きする 1クラスのテストに対してWEBアプリケーションを 起動してしまう。(主にSpring-Bootで) テスト範囲に応じて、 テスト対象外のクラスはモック化する 実際にあった1例です。
21.
● CI/CDツールの選定 ● 環境の移行・構成 ●
CI単体テストのよくある問題の解決 ● プルリクエストのCI単体テスト時間の最適化(予定) ● 周辺ツールの整備(予定) CI単体テストを速くするために やったこと・やるつもりのこと =今日お話すること(残り)
22.
今後やりたいこと 開発者により速く、そしてもっと情報をフィードバックするために ● プルリクエストのCI単体テスト時間の最適化 ○ テストサイズの導入 ○
変更されたファイルからパッケージやファイル名などによるテスト対象の絞込 ● 周辺ツールの整備 ○ 静的解析 ○ SonarQube ○ SideCI
23.
まとめ ● メインで解決したかったこと → CI単体テストを速くするために ●
CI/CDツールの選定理由 → Jenkinsを選び ● CI/CDツールの環境・構成 → 並列テスト・スケールできる環境を作り ● CI/CDツール以外での対応 → 単体テストのよくある問題を解決し、 これから周辺ツールなどを整備していく。
Jetzt herunterladen