$30 off During Our Annual Pro Sale. View Details »

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

  2. About me Akira Kuratani / 倉⾕ 彰 TeamSpirit Inc. Architect

    @a_kuratani Podcast(migration.fm) ハッシュダグ︓#migrationfm Winterʻ17
  3. 「毎⽇の業務に必要な事務処理ツール」をひとつにまとめた 働き⽅改⾰プラットフォーム「TeamSpirit」シリーズで、 変化に挑戦する⼈と企業に貢献することを⽬指す企業です。 株式会社チームスピリット 勤怠管理 就業管理 経費精算 カレンダー ⼯数管理 電⼦稟議

    SNS ダッシュボード マイナンバー管理 社員情報管理 シフト管理 プロジェクト 原価管理
  4. 株式会社チームスピリット AppExchange Partner of the year2016 ISV GOLD Partner 2016(Global)

    導⼊実績 Award AppExchange アプリケーション AppExchange 5年で800社 10万ID突破
  5. 急成⻑を⽀える仕組みづくり

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

    ✓ 承認&デプロイ 静的解析・⾃動テスト
  7. TeamSpiritを⽀える継続的インテグレーション BitBucket etc. Jenkins ソースコード 静的解析 通知 ドキュメント⽣成 ユニットテスト Slack

    E2Eテスト AWS EC2 Migration Tools JUnit ユニットテスト組織 Developer Edition E2Eテスト組織 Developer Edition Selenium Docker BrowserStack
  8. DEMO

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

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

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

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

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

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

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

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

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

  18. • 静的解析 • Force.com Security Source Code Scanner⾃動化 • PMD

    Apex導⼊ • Jenkinsでもローカルでもチェック可能 対策 • ドキュメント⾃動⽣成 • ApexDoc • メタデータ(XML)をHTMLに変換
  19. SalesforceDXで変わる 継続的インテグレーション

  20. Before SalesforceDX BitBucket etc. Jenkins ソースコード 静的解析 通知 ドキュメント⽣成 ユニットテスト

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

    Slack E2Eテスト AWS EC2 SalesforceDX CLI Scratch Org 並⾏化 Selenium Docker BrowserStack
  22. Before SalesforceDX リポジトリ master feature/TS-145 feature/TS-137 feature/TS-143 ⾃動テスト Developer Edition

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

  24. DEMO

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

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

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

    開発組織 デプロイ パッケージ 確認組織 パッケージ作成
  28. • SalesforceDXでモダンな開発スタイルに移⾏ • 継続的インテグレーション • 継続的デリバリー • すぐに始められるSalesforceDX • PMD

    Apex による静的解析 • Apexテストの⾃動実⾏ まとめ
  29. We’re Hiring!

  30. 質問タイム

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