Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)

31 views

Published on

2017年9月27日 Salesforce World Tour Tokyo 2017で発表した資料です。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)

  1. 1. Salesforce World Tour Tokyo 2017 Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜 2017/9/27
  2. 2. About me Akira Kuratani / 倉谷 彰 TeamSpirit Inc. Architect @a_kuratani Podcast(migration.fm) ハッシュダグ:#migrationfm Winter‘17
  3. 3. 「毎日の業務に必要な事務処理ツール」をひとつにまとめた 働き方改革プラットフォーム「TeamSpirit」シリーズで、 変化に挑戦する人と企業に貢献することを目指す企業です。 株式会社チームスピリット 勤怠管理 就業管理 経費精算 カレンダー 工数管理 電子稟議 SNS ダッシュボード マイナンバー管理 社員情報管理 シフト管理 プロジェクト 原価管理
  4. 4. 株式会社チームスピリット AppExchange Partner of the year2016 ISV GOLD Partner 2016(Global) 導入実績 Award AppExchange アプリケーション AppExchange 5年で800社 10万ID突破
  5. 5. 急成長を支える仕組みづくり
  6. 6. 継続的デリバリーとは ソースコード管理 ビルド ステージング プロダクション 継続的インテグレーション 継続的デリバリー 継続的デプロイ → 自動デプロイ ✓ 承認&デプロイ 🔍 静的解析・自動テスト
  7. 7. TeamSpiritを支える継続的インテグレーション BitBucket etc. Jenkinsソースコード 静的解析 通知 ドキュメント生成 ユニットテスト Slack E2Eテスト AWS EC2 Migration Tools JUnit ユニットテスト組織 Developer Edition E2Eテスト組織 Developer Edition Selenium Docker BrowserStack
  8. 8. DEMO
  9. 9. ここに至るまでの問題と対策
  10. 10. 最初の問題 • リポジトリとパッケージ作成組織が不一致 リポジトリ パッケージ作成組織 開発組織 開発組織 ≠ ≠
  11. 11. • ソースコード管理の一元化 • リポジトリからパッケージ作成組織にデプロイする 対策 リポジトリ パッケージ作成組織 開発組織 開発組織
  12. 12. 次に出てきた問題 • リリース直前に問題が発覚する • デプロイエラー、テスト失敗、カバレッジ不足 リポジトリ パッケージ作成組織 開発組織 開発組織
  13. 13. • Jenkinsを導入し、デプロイ・Apexテストを定期実行 対策 リポジトリ パッケージ作成組織 開発組織 開発組織 開発組織 Jenkins
  14. 14. さらなる問題が… • 終わらない回帰テスト… 機能数 2012年 2013年 2014年 2015年 2016年 2017年
  15. 15. • ブラウザを操作して自動テスト(GUIテスト自動化) 対策 開発組織 Jenkins Docker 開発組織 開発組織 ローカル BrowserStackSelenium Selenium
  16. 16. 次のステップ • コード品質を上げたい • コーディングスタイルの不統一 • セキュリティ脆弱性 • ドキュメントの作成が面倒
  17. 17. • 静的解析 • Force.com Security Source Code Scanner自動化 対策 有償化の連絡!
  18. 18. • 静的解析 • Force.com Security Source Code Scanner自動化 • PMD Apex導入 • Jenkinsでもローカルでもチェック可能 対策 • ドキュメント自動生成 • ApexDoc • メタデータ(XML)をHTMLに変換
  19. 19. SalesforceDXで変わる 継続的インテグレーション
  20. 20. Before SalesforceDX BitBucket etc. Jenkinsソースコード 静的解析 通知 ドキュメント生成 ユニットテスト Slack E2Eテスト AWS EC2 Migration Tools JUnit ユニットテスト組織 Developer Edition E2Eテスト組織 Developer Edition Selenium Docker BrowserStack
  21. 21. After SalesforceDX BitBucket etc. Jenkinsソースコード 静的解析 通知 ドキュメント生成 ユニットテスト Slack E2Eテスト AWS EC2 SalesforceDX CLI Scratch Org 並行化 Selenium Docker BrowserStack
  22. 22. Before SalesforceDX リポジトリ master feature/TS-145 feature/TS-137 feature/TS-143 自動テスト Developer Edition
  23. 23. After SalesforceDX master feature/TS-145 feature/TS-137 feature/TS-143 自動テスト Scratch Org リポジトリ
  24. 24. DEMO
  25. 25. SalesforceDXで変わる 継続的デリバリー
  26. 26. 継続的デリバリー(SI・自社開発の場合) ソースコード管理 ビルド ステージング プロダクション Sandbox組織 運用組織 デプロイ デプロイ 変更セット 開発組織 デプロイ
  27. 27. 継続的デリバリー(ISV/OEMの場合) ソースコード管理 ビルド ステージング プロダクション パッケージ 作成組織 ユーザ運用組織 デプロイ プッシュアップグレード 開発組織 デプロイ パッケージ 確認組織パッケージ作成
  28. 28. • SalesforceDXでモダンな開発スタイルに移行 • 継続的インテグレーション • 継続的デリバリー • すぐに始められるSalesforceDX • PMD Apex による静的解析 • Apexテストの自動実行 まとめ
  29. 29. We’re Hiring!
  30. 30. 質問タイム
  31. 31. ありがとうございました

×