Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Futa HIRAKOBA
PDF, PPTX
937 views
テスト漏れを無くしたい!ワークフロー単位でトリガーを自由に設定したい要望
2020年8月5日(水) CircleCI コミュニティミートアップ https://circleci.connpass.com/event/178558/
Engineering
◦
Related topics:
CI/CD
•
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 28
2
/ 28
3
/ 28
4
/ 28
5
/ 28
6
/ 28
7
/ 28
8
/ 28
9
/ 28
10
/ 28
11
/ 28
12
/ 28
13
/ 28
14
/ 28
15
/ 28
16
/ 28
17
/ 28
18
/ 28
19
/ 28
20
/ 28
21
/ 28
22
/ 28
23
/ 28
24
/ 28
25
/ 28
26
/ 28
27
/ 28
28
/ 28
More Related Content
PDF
もくだいさん&うるのさんのみんなの知らないOffice365おススメ機能を教えます
by
Ayako Uruno
PDF
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
by
Yahoo!デベロッパーネットワーク
PDF
ミルフィーユ 自動回路設計ツール
by
Yoshinari Kou
PDF
世界で活躍するエンジニア
by
Hirokazu Tokuno
PDF
Bizroboをもっと使ってもらいたい!
by
SatokoYoshida3
PDF
OCamlによるプロダクト開発
by
field-works
PDF
Yahoo!ニュースにおける開発手法の取り組み
by
Yahoo!デベロッパーネットワーク
PDF
gumiにおける、海外支社とのAtlassian製品利用事例
by
知教 本間
もくだいさん&うるのさんのみんなの知らないOffice365おススメ機能を教えます
by
Ayako Uruno
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
by
Yahoo!デベロッパーネットワーク
ミルフィーユ 自動回路設計ツール
by
Yoshinari Kou
世界で活躍するエンジニア
by
Hirokazu Tokuno
Bizroboをもっと使ってもらいたい!
by
SatokoYoshida3
OCamlによるプロダクト開発
by
field-works
Yahoo!ニュースにおける開発手法の取り組み
by
Yahoo!デベロッパーネットワーク
gumiにおける、海外支社とのAtlassian製品利用事例
by
知教 本間
More from Futa HIRAKOBA
PDF
逆求人自己紹介プレゼン(平木場)
by
Futa HIRAKOBA
PDF
サイボウズの生産性を高める生産性向上チームと開発文化
by
Futa HIRAKOBA
PDF
VDM++仕様を対象としたテストケース自動生成ツールBWDMにおけるペアワイズ法とドメイン分析テストの適用のための機能拡張
by
Futa HIRAKOBA
PDF
What will your future college life look like?〜今後の大学生活をどのようにしますか?〜
by
Futa HIRAKOBA
PDF
「人月の神話」紹介プレゼン
by
Futa HIRAKOBA
PDF
CI/CDのすすめ
by
Futa HIRAKOBA
PDF
院進学して思うこと
by
Futa HIRAKOBA
PDF
Agri Hack Day 2019 in 宮崎大学 〜マンゴーチーム〜
by
Futa HIRAKOBA
PDF
これからどう学生時代を過ごせば良いか
by
Futa HIRAKOBA
PDF
量子コンピュータを触ってみる
by
Futa HIRAKOBA
PPTX
レーダーってなあに
by
Futa HIRAKOBA
PDF
Web API The Good Partsの紹介 ~美しいWebAPIの作り方~
by
Futa HIRAKOBA
PDF
VDM++仕様を対象としたテストケース自動生成ツール BWDM における境界値分析結果へのペアワイズ法の適用
by
Futa HIRAKOBA
PDF
機械学習を用いた仕様書からのテストケース自動生成ツールSpec2Testの試作
by
Futa HIRAKOBA
PPTX
デジタル一眼レフカメラとSNSを利用したインドア派から脱却する方法
by
Futa HIRAKOBA
PPTX
近年の仮面ライダーに感じる不満を解消するトゲのある仮面ライダー、アマゾンズの紹介
by
Futa HIRAKOBA
PPTX
自己紹介 平木場風太
by
Futa HIRAKOBA
PPTX
ETロボについて
by
Futa HIRAKOBA
PPTX
渦電流とその利用
by
Futa HIRAKOBA
PPTX
僕たちがいつまでもプログラマでいるには?
by
Futa HIRAKOBA
逆求人自己紹介プレゼン(平木場)
by
Futa HIRAKOBA
サイボウズの生産性を高める生産性向上チームと開発文化
by
Futa HIRAKOBA
VDM++仕様を対象としたテストケース自動生成ツールBWDMにおけるペアワイズ法とドメイン分析テストの適用のための機能拡張
by
Futa HIRAKOBA
What will your future college life look like?〜今後の大学生活をどのようにしますか?〜
by
Futa HIRAKOBA
「人月の神話」紹介プレゼン
by
Futa HIRAKOBA
CI/CDのすすめ
by
Futa HIRAKOBA
院進学して思うこと
by
Futa HIRAKOBA
Agri Hack Day 2019 in 宮崎大学 〜マンゴーチーム〜
by
Futa HIRAKOBA
これからどう学生時代を過ごせば良いか
by
Futa HIRAKOBA
量子コンピュータを触ってみる
by
Futa HIRAKOBA
レーダーってなあに
by
Futa HIRAKOBA
Web API The Good Partsの紹介 ~美しいWebAPIの作り方~
by
Futa HIRAKOBA
VDM++仕様を対象としたテストケース自動生成ツール BWDM における境界値分析結果へのペアワイズ法の適用
by
Futa HIRAKOBA
機械学習を用いた仕様書からのテストケース自動生成ツールSpec2Testの試作
by
Futa HIRAKOBA
デジタル一眼レフカメラとSNSを利用したインドア派から脱却する方法
by
Futa HIRAKOBA
近年の仮面ライダーに感じる不満を解消するトゲのある仮面ライダー、アマゾンズの紹介
by
Futa HIRAKOBA
自己紹介 平木場風太
by
Futa HIRAKOBA
ETロボについて
by
Futa HIRAKOBA
渦電流とその利用
by
Futa HIRAKOBA
僕たちがいつまでもプログラマでいるには?
by
Futa HIRAKOBA
テスト漏れを無くしたい!ワークフロー単位でトリガーを自由に設定したい要望
1.
テスト漏れを無くしたい! ワークフロー単位でトリガーを ⾃由に設定したい要望 サイボウズ株式会社 ⽣産性向上チーム 平⽊場 ⾵太(@shitimi_613) 2020年8⽉5⽇(⽔)
CircleCI コミュニティミートアップ
2.
簡単なプロフィール 2020/08/05 2 平⽊場 ⾵太(Futa
HIRAKOBA) • 4⽉にサイボウズ新卒⼊社 • 6⽉末から⽣産性向上チームにJoin! これまでの主な業務 • CI/CDパイプラインの整備 • dockerfile職⼈ • AWSリソースのゴミ掃除⾃動化 • ⿅児島に帰省したいけどコロナで帰れない... • 対⾺にはよく⾏く(ゲーム) • 最近はk8sの勉強やってる Shitimi_613 korosuke613
3.
2020/08/05 3 とつぶやいたら 3~4⽇前...
4.
2020/08/05 4 まさかの公式さんから連絡が来て いろいろあってLTすることになりました 3~4⽇前...
5.
TL;DR ワークフロー単位で トリガーをPRに設定できるよう になってほしい! 2020/08/05 5
6.
背景 2020/08/05 6
7.
Garoonという製品がある 2020/08/05 7https://garoon.cybozu.co.jp/
8.
phpcsコマンドでコーディング規約を チェックしてコメントするジョブ Garoon開発のざっくりとした流れ 2020/08/05 8 コーディング 静的解析
テスト デリバリー lint-php lint-js phan ... phpcs phpcs: https://github.com/squizlabs/PHP_CodeSniffer QA リリースなど コーディング規約を継続的に確認している
9.
phpcsジョブが やってくれること 2020/08/05 9 1.GitHub APIを叩いて1、 マージ先ブランチ(base)と マージ元ブランチ(compare)との差分を取得 2.差分3に対してphpcsコマンドを実⾏ 3.GitHubのPull
Requestにコメント 1. h$ps://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests 2. 差分に対して⾏う理由はすでに規約違反のコードが⼤量に存在するためです...
10.
こんな感じでコメントしてくれる 2020/08/05 10
11.
もしかしてこれpushじゃ うまくいかないんじゃ... 2020/08/05 11 と思われた⽅もいると思います。
12.
phpcsジョブを包含する ワークフローを動かすには プルリクエストが必要* 2020/08/05 12* 2つのcommitの⽐較もできるっちゃできる
13.
CircleCIでプルリクエストを ワークフローのトリガーとする 2020/08/05 131. https://circleci.com/docs/2.0/oss/#build-pull-requests-from-forked-repositories 2.
ただし、デフォルトブランチだけは従来通りpushでワークフローが動く プロジェクト単位で、プルリクエスト時にワー クフローを動かす設定ができる1。 設定⽅法 Project Settings > Advanced > Only build pull requests ただし、設定を有効にすると、pushでワークフ ローが動かなくなる2。
14.
Garoonはコミットでも ワークフローを⾛らせたい 2020/08/05 14
15.
CIRCLE_PULL_REQUEST環境変数で PRかどうかを判断してる 2020/08/05 15https://circleci.com/docs/ja/2.0/env-vars/ CIRCLE_PULL_REQUEST: 関連付けられたプルリクエストのURLが格納される環境変数 •
プルリクエストでないなら circleci step halt でジョブを途中で終了させる • プルリクエストなら ジョブを続⾏する
16.
コーディング規約を継続的に確認 2020/08/05 16 PR作成 & push comment PR phpcsジョブ: PASSED
or FAILED コーディング規約を守れていない変更のマージを未然に防げる プルリクエストがあるので phpcsコマンドを実⾏できる
17.
常にきれいなコード! みんなハッピー! 2020/08/05 17
18.
常にきれいなコード! みんなハッピー! 2020/08/05 18 とはならなかった...
19.
問題 2020/08/05 19
20.
もしプルリクエスト作成後に pushしなかったら...? 2020/08/05 20
21.
PR作成後にpushした場合 2020/08/05 21 規約違反のコードをpush comment PR プルリクエストがあるので phpcsコマンドを実⾏できる PR作成 phpcsジョブ: FAILED
22.
push後にPRを作成した場合 2020/08/05 22 規約違反のコードをpush プルリクエストがないので phpcsコマンドを実⾏できない PR作成 (ワークフローは実⾏されない) phpcsジョブ: PASSED ヨシ! https://kumamine.blogspot.com/2019/12/blog-post_27.html
23.
push後にPRを作成した場合 2020/08/05 23 規約違反のコードをpush プルリクエストがないので phpcsコマンドを実⾏できない PR作成 (ワークフローは実⾏されない) phpcsジョブ: PASSED ヨシ! https://kumamine.blogspot.com/2019/12/blog-post_27.html 良くない
24.
もしこれがガチのテストだったら.. 2020/08/05 24 バグを⾒過ごしてしまうかも... テストしていないのに あたかもテストが通過したと勘違いして マージしてしまう
25.
2020/08/05 25 運⽤でカバー(PRを先に作る or
Re-Runする) ➡ヒューマンエラーは避けられないし、⾯倒 マージ先ブランチを特定して⽐較する ➡特定が⼤変1 GitHub Actionsを使ってPR作成時にワークフローを動かす ➡本末転倒感がある2 etc... もちろん回避策はある 1. garoonはmasterブランチと呼べるものが複数個あるので... 2. しかも、GitHub Enterprise Serverではまだ使えない ベストな⽅法は無い...
26.
ワークフロー単位でトリガー をPRに設定できればな〜〜 はるかに楽なのにな〜〜〜 2020/08/05 26
27.
2020/08/05 27 • 今回はだいぶ狭いユースケースでしたが、CircleCIのコ ミュニティでも多くの需要があるようです*。 •
コード上(config.yml)で設定できるようになるのが個⼈ 的な理想です。 ワークフロー単位で トリガーにPRを設定できるよう になってほしいです!! * https://ideas.circleci.com/ideas/CCI-I-316 なので、
28.
というわけで、 CircleCIのみなさん、 ご検討のほど よろしくお願いします!! 🙇🙇🙇🙇🙇🙇🙇🙇 2020/08/05 28
Download