Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure DevOps Online Vol.6 - 業務で必要なCIをみんなで考えよう

Azure DevOps Online Vol.6 - 業務で必要なCIをみんなで考えよう

2022/7/26に開催したイベント「Azure DevOps Online Vol.6 - 業務で必要なCIをみんなで考えよう」で使用した資料です。

https://tfsug.connpass.com/event/253733/

KAMEGAWA Kazushi

July 31, 2022
Tweet

More Decks by KAMEGAWA Kazushi

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 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/

    View Slide

  4. Who am I?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide