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

Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜

Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜

Salesforce World Tour Tokyo 2017 でSalesforceDX事例について発表しました。

Akira Kuratani

September 26, 2017
Tweet

More Decks by Akira Kuratani

Other Decks in Technology

Transcript

  1. Salesforce World Tour Tokyo 2017
    Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜
    2017/9/27

    View Slide

  2. About me
    Akira Kuratani / 倉⾕ 彰
    TeamSpirit Inc.
    Architect
    @a_kuratani
    Podcast(migration.fm)
    ハッシュダグ︓#migrationfm
    Winterʻ17

    View Slide

  3. 「毎⽇の業務に必要な事務処理ツール」をひとつにまとめた
    働き⽅改⾰プラットフォーム「TeamSpirit」シリーズで、
    変化に挑戦する⼈と企業に貢献することを⽬指す企業です。
    株式会社チームスピリット
    勤怠管理
    就業管理
    経費精算
    カレンダー
    ⼯数管理
    電⼦稟議
    SNS
    ダッシュボード
    マイナンバー管理
    社員情報管理
    シフト管理
    プロジェクト
    原価管理

    View Slide

  4. 株式会社チームスピリット
    AppExchange Partner of the year2016
    ISV GOLD Partner 2016(Global)
    導⼊実績 Award
    AppExchange アプリケーション AppExchange
    5年で800社 10万ID突破

    View Slide

  5. 急成⻑を⽀える仕組みづくり

    View Slide

  6. 継続的デリバリーとは
    ソースコード管理 ビルド ステージング プロダクション
    継続的インテグレーション
    継続的デリバリー
    継続的デプロイ

    ⾃動デプロイ

    承認&デプロイ

    静的解析・⾃動テスト

    View Slide

  7. TeamSpiritを⽀える継続的インテグレーション
    BitBucket
    etc.
    Jenkins
    ソースコード
    静的解析
    通知
    ドキュメント⽣成
    ユニットテスト
    Slack
    E2Eテスト
    AWS EC2
    Migration Tools
    JUnit
    ユニットテスト組織
    Developer Edition
    E2Eテスト組織
    Developer Edition
    Selenium Docker BrowserStack

    View Slide

  8. DEMO

    View Slide

  9. ここに⾄るまでの問題と対策

    View Slide

  10. 最初の問題
    • リポジトリとパッケージ作成組織が不⼀致
    リポジトリ
    パッケージ作成組織
    開発組織
    開発組織


    View Slide

  11. • ソースコード管理の⼀元化
    • リポジトリからパッケージ作成組織にデプロイする
    対策
    リポジトリ
    パッケージ作成組織
    開発組織
    開発組織

    View Slide

  12. 次に出てきた問題
    • リリース直前に問題が発覚する
    • デプロイエラー、テスト失敗、カバレッジ不⾜
    リポジトリ
    パッケージ作成組織
    開発組織
    開発組織

    View Slide

  13. • Jenkinsを導⼊し、デプロイ・Apexテストを定期実⾏
    対策
    リポジトリ
    パッケージ作成組織
    開発組織
    開発組織 開発組織
    Jenkins

    View Slide

  14. さらなる問題が…
    • 終わらない回帰テスト…
    機能数
    2012年 2013年 2014年 2015年 2016年 2017年

    View Slide

  15. • ブラウザを操作して⾃動テスト(GUIテスト⾃動化)
    対策
    開発組織
    Jenkins
    Docker
    開発組織
    開発組織
    ローカル
    BrowserStack
    Selenium
    Selenium

    View Slide

  16. 次のステップ
    • コード品質を上げたい
    • コーディングスタイルの不統⼀
    • セキュリティ脆弱性
    • ドキュメントの作成が⾯倒

    View Slide

  17. • 静的解析
    • Force.com Security Source Code Scanner⾃動化
    対策
    有償化の連絡!

    View Slide

  18. • 静的解析
    • Force.com Security Source Code Scanner⾃動化
    • PMD Apex導⼊
    • Jenkinsでもローカルでもチェック可能
    対策
    • ドキュメント⾃動⽣成
    • ApexDoc
    • メタデータ(XML)をHTMLに変換

    View Slide

  19. SalesforceDXで変わる
    継続的インテグレーション

    View Slide

  20. Before SalesforceDX
    BitBucket
    etc.
    Jenkins
    ソースコード
    静的解析
    通知
    ドキュメント⽣成
    ユニットテスト
    Slack
    E2Eテスト
    AWS EC2
    Migration Tools
    JUnit
    ユニットテスト組織
    Developer Edition
    E2Eテスト組織
    Developer Edition
    Selenium Docker BrowserStack

    View Slide

  21. After SalesforceDX
    BitBucket
    etc.
    Jenkins
    ソースコード
    静的解析
    通知
    ドキュメント⽣成
    ユニットテスト
    Slack
    E2Eテスト
    AWS EC2
    SalesforceDX CLI Scratch
    Org
    並⾏化
    Selenium Docker BrowserStack

    View Slide

  22. Before SalesforceDX
    リポジトリ
    master
    feature/TS-145
    feature/TS-137
    feature/TS-143
    ⾃動テスト
    Developer Edition

    View Slide

  23. After SalesforceDX
    master
    feature/TS-145
    feature/TS-137
    feature/TS-143
    ⾃動テスト
    Scratch Org
    リポジトリ

    View Slide

  24. DEMO

    View Slide

  25. SalesforceDXで変わる
    継続的デリバリー

    View Slide

  26. 継続的デリバリー(SI・⾃社開発の場合)
    ソースコード管理 ビルド ステージング プロダクション
    Sandbox組織
    運⽤組織
    デプロイ
    デプロイ
    変更セット
    開発組織
    デプロイ

    View Slide

  27. 継続的デリバリー(ISV/OEMの場合)
    ソースコード管理 ビルド ステージング プロダクション
    パッケージ
    作成組織
    ユーザ運⽤組織
    デプロイ
    プッシュアップグレード
    開発組織
    デプロイ
    パッケージ
    確認組織
    パッケージ作成

    View Slide

  28. • SalesforceDXでモダンな開発スタイルに移⾏
    • 継続的インテグレーション
    • 継続的デリバリー
    • すぐに始められるSalesforceDX
    • PMD Apex による静的解析
    • Apexテストの⾃動実⾏
    まとめ

    View Slide

  29. We’re
    Hiring!

    View Slide

  30. 質問タイム

    View Slide

  31. ありがとうございました

    View Slide