Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hacarus Inc.
April 27, 2024
Programming
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
2024/4/27開催のC#パフォーマンス勉強会で発表した資料です
Hacarus Inc.
April 27, 2024
More Decks by Hacarus Inc.
See All by Hacarus Inc.
QA4AIに則ったMLOpsツールの活用
hacarus
0
760
0から協働ロボット外観検査システムを3ヵ月で具現化した軌跡
hacarus
0
320
ワンちゃんの健康を願う皆様に送る 犬心電図AI解析プロダクト紹介_AWS DevDay2022
hacarus
0
230
犬の心電AI解析プロダクト開発奮闘記 _クラウドからハード開発までてんこ盛り
hacarus
0
2.3k
ExplainableAIの概要とAmazon SageMaker Clarifyでの実装例
hacarus
0
1.2k
AWS Step Functions を用いた非同期学習処理の例
hacarus
0
1.5k
Dashでmyダッシュボードを作ろう ーpytrendsで見るコロナの感染拡大時期ー
hacarus
0
1.6k
Interpretable Machine Learning: モデル非依存な解釈手法の紹介
hacarus
0
1.3k
時系列データ予測手法の宇宙天気予報への応用
hacarus
0
1.6k
Other Decks in Programming
See All in Programming
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
970
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.5k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
440
ジョジョの世界をXRで再現する
mofurune
0
170
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Google's AI Overviews - The New Search
badams
0
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
How to Ace a Technical Interview
jacobian
280
24k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
760
The Pragmatic Product Professional
lauravandoore
37
7.5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
1 GitLab CI/CD で C#/WPFアプリケーションのテストとインス トーラーのビルド・デプロイを自動化する 株式会社HACARUS 宇佐見一平
2 名前: 宇佐見 一平 略歴:2017-04 新卒でメーカーに入社 2019-03 HACARUSに転職 職務内容:AI外観検査プロダクトの開発 C#暦
2年くらい(Python 5年くらい) 趣味 :テレビゲーム、NFL 自己紹介
3 HACARUS Check 撮 像 検 査 Hardware ロボット+カメラ+照明を 組み合わせて最適な撮像
Software 少量良品データで 高速学習し AI 判定 C#(.NET8)/WPF
4 構築したパイプライン Windows PC GItLab CI Unit test Build Installer
Upload Installer Google Drive JJJJj Upload Installer Release Note
5 pages: tags: - windows stage: pages script: - "&
dotnet test ./HacarusCheckBasicVer2.sln --collect:'XPlat Code Coverage' --results-directory coverageResult" - "& 'C:/Users/hacarus/.dotnet/tools/reportgenerator.exe' -reports:'./coverageResult/*/coverage.cobertura.xml' -targetdir:'coveragereport' -reporttypes:Html" - mv coveragereport public artifacts: paths: - public GitLab CI用のyamlファイル(抜粋)
6 1. SaaSで提供されているGitLab CI/CDを利用 a. WPFはWindows環境でなければビルドできなさそう もし方法あれば教えてください 2. WindowsPC上でGitLab CI/CDをセットアップして実行する
a. GitLab Runnerという仕組みをGitLabが提供している CI/CDの流れ 1. コードをコミットすると GitLab Runnerが起動 2. Unit testを実行 3. タグ付けするとインストーラをビルドするジョブが実行 4. リリースノート自動生成 5. ビルド完了したらGoogleDriveへアップロード GitLab CI/CDをどこで動かすか
7 • 前回のリリース~今回のリリース間で mainにマージされたマージリクエストの項目をリリースノートに記載 する ◦ GitLabでリリースを作成する公式ツールである GitLab Release CLIを利用
◦ MRの情報をとるために、 python-gitlabを利用 リリースノートを自動生成して変更を確認
8 • ユニットテストの実行が自動化された • 誰でもインストーラーが簡単にビルドできるようになった • リリースノートが自動生成され、インストーラーでどういう機能が追加さ れたのかが一見してわかるようになった • すぐに生成物をセールスの人に共有できるようになった
CI/CDを設定してよかったこと
9 • ユニットテストの実行が自動化された • 誰でもインストーラーが簡単にビルドできるようになった • リリースノートが自動生成され、インストーラーでどういう機能が追加さ れたのかが一見してわかるようになった • すぐに生成物をセールスの人に共有できるようになった
CI/CDを設定してよかったこと 結論:自動化は楽しい