Slide 1

Slide 1 text

Azure DevOps オンライン Vol.6 業務で必要なCIについてみんなで考えよう かめがわ かずし(kkamegawa) and 中村 充志(@nuits_jp)

Slide 2

Slide 2 text

https://dev.azure.com/nuits/WpfDevOpsStudy 本日のレポジトリ

Slide 3

Slide 3 text

Who am I? personal: name: KAMEGAWA Kazushi(Last-First) alias: kkamegawa community: MVP: Microsoft MVP for Developer Technologies(2009-) Users Group: Team Foundation Server Users Group URL: https://dev.azure.com/tfsug/tfsuginfo Blog: URL: https://kkamegawa.hatenablog.jp devblog radio: https://devblog.connpass.com/

Slide 4

Slide 4 text

Who am I?

Slide 5

Slide 5 text

CIのためのレポジトリ構成 クラサバ用 Web App用

Slide 6

Slide 6 text

使用するレポジトリタイプ TFVC / Subversion のような中央型 GitやMercurialの分散型

Slide 7

Slide 7 text

Gitを使う場合のワークフロー Git Flow GitHub Flow GitLab Flow

Slide 8

Slide 8 text

Gitの場合のレポジトリ構成 シングルレポジトリ マルチレポジトリ

Slide 9

Slide 9 text

業務効率化におけるCI CIで効率化されてると思いますか? たまにだけならいらないのでは? ローカルでビルドして持っていけばいいのでは? どんなCIサービスが好き? 使用するクラウドサービスに依存しますか?

Slide 10

Slide 10 text

CI/CDやってますか? CIやってますか? CDやってますか? やってる場合、それはいつから? プロジェクトの開始時点 プロジェクトの特定フェーズから 完全に後付け

Slide 11

Slide 11 text

何に対してCI/CDやってますか? ビルドとデプロイ(CD)? Web / VM / PaaS / Database Database更新に失敗した時のロールバックは? スキーマだけで回数少なければ手動でやったほうがい いのかも?

Slide 12

Slide 12 text

人員変更の対応 手順書ビルド・デプロイだと人員交換時厳しい CIならば人に依存しない? 人事異動時のアクセス権棚卸やっていますか?

Slide 13

Slide 13 text

CIの効率化 ビルド・テスト効率化について Pull Requestとビルドテスト

Slide 14

Slide 14 text

CIとテスト テストは時間との闘い。どこまでやる? Unit Test E2E システムテスト Chaos Test インパクト分析 UIは自動テスト化している? している場合、人力テストと自動テストの使い分けは?

Slide 15

Slide 15 text

壁にぶち当たったとき 効率化のためにどこまで時間を使うか? CIに投げ銭していますか? 投げ銭の判断材料は? 現状の分析と改善について

Slide 16

Slide 16 text

巨大なコードベースに対応する 依存分析やってますか? どこかからかソースコードのコピペ 脆弱性のあるライブラリのチェック 混在許されないライセンス 静的コード解析やってますか?