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

Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例

Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例

Salesforce Webinar で SalesforceDX について事例を発表しました。
https://developer.salesforce.com/events/webinars/salesforcedx-20190830

Akira Kuratani

August 30, 2019
Tweet

More Decks by Akira Kuratani

Other Decks in Technology

Transcript

  1. Copyright © TeamSpirit Inc. All Rights Reserved. アジェンダ • ⾃⼰&⾃社紹介

    • Salesforce World Tour Tokyo 2017 ふりかえり • Salesforce DX Upgrade History • 現在の Salesforce DX 活⽤状況 • Salesforce DX 所感 2
  2. 3 About me Akira Kuratani / 倉⾕ 彰 Director @a_kuratani

    Podcast(migration.fm) ハッシュダグ︓#migrationfm 2019
  3. Copyright © TeamSpirit Inc. All Rights Reserved. 「TeamSpirit」シリーズは、業務遂⾏に必要なさまざまな事務作業を ⼀体で処理できるクラウドシステム。これまでの作業の⼿間や時間を 圧倒的に短縮し、働く⼈それぞれが本来の仕事に集中できる余裕を創

    出することで、充実した仕事ができる環境を整えます。 なんと ⽉額 600円/1⼈ (50ライセンス、30,000円から) →料⾦表を⾒る 様々な機能が連携して1サービスに統合︕ P.4 勤怠管理 就業管理 経費精算 カレンダー ⼯数管理 電⼦稟議 SNS ダッシュボード マイナンバー管理 社員情報管理 シフト管理 プロジェクト 原価管理
  4. Copyright © TeamSpirit Inc. All Rights Reserved. AppExchange Premier Partner

    に2年連続認定(2019年2⽉) 導⼊実績 Award 1100社 17万ID突破︕ 株式会社チームスピリット P.5 ( FY19Q2末時点) 0 500 1000 1500 0 50000 100000 150000 200000 FY12 FY13 FY14 FY15 FY16 FY17 FY18 FY19Q2 契約ライセンス数の推移 契約ライセンス数 契約社数 (社) 解約削減を反映した有効なTeamSpirit 利⽤者
  5. 2017年当時の開発環境 BitBucket Developer Edition Org Developer Developer Edition Org Developer

    Jenkins Developer Edition Org Migrationツール Migrationツール or Gulp + jsforce Continuous Integration Migrationツール or Gulp + jsforce
  6. 2017年当時の継続的インテグレーション環境 BitBucket etc. Jenkins ソースコード 静的解析 通知 ドキュメント⽣成 ユニットテスト Slack

    E2Eテスト AWS EC2 Migration Tools JUnit ユニットテスト組織 Developer Edition E2Eテスト組織 Developer Edition Selenium Docker BrowserStack
  7. Copyright © TeamSpirit Inc. All Rights Reserved. Winter’18 Spring’18 Summer’18

    Winter’19 Spring’19 Summer’19 Winter’20 Salesforce DX Upgrade History 10 ▼Salesforce DX CLI 正式リリース ▼スクラッチ組織 正式リリース ▼VS Code 向け開発ツール 正式リリース ▼第⼆世代管理パッケージ(パイロット) ▼ロック解除済みパッケージ (ベータ) ▼Force.com IDE 2 (ベータ) 終了 ▼VS Codeでの任意組織に対する開発 (ベータ) ▼force:source:delete/deploy/retrieve (ベータ) ▼DevHub: Developer Edition と トライアル組織で使⽤可能に ▼ロック解除済みパッケージ 正式リリース ▼DevHub⽤Salesforce Limited Access – Free ライセンス ▼VS Codeでの任意組織に対する開発 正式リリース ▼force:source:delete/deploy/retrieve 正式リリース ▼第⼆世代管理パッケージ 正式リリース ▼Force.com IDE 終了 2019年3⽉ Salesforce DX へ移⾏開始
  8. チームスピリットにおける Salesforce DX 活⽤状況 BitBucket Developer Edition Org Developer Developer

    Edition Org Developer Jenkins Scratch Org Developer Edition Org Salesforce DX CLI Salesforce DX CLI Salesforce DX CLI Salesforce DX CLI Continuous Integration 移⾏中
  9. チームスピリットにおける Salesforce DX 活⽤状況 BitBucket etc. Jenkins 静的解析 通知 ドキュメント⽣成

    JavaScript Unit Test Slack E2Eテスト AWS EC2 JUnit E2Eテスト組織 Developer Edition Selenium Docker BrowserStack Salesforce DX CLI Scratch Org 並⾏化 型チェック(flow) Code Formatter Apexテスト ソースコード
  10. Copyright © TeamSpirit Inc. All Rights Reserved. Salesforce DX CLI

    の活⽤例 1. JWT認証 (force:auth:jwt:grant) 2. Scratch Org を作成する (force:org:create) 3. ソースコードをプッシュする (force:source:push) 4. ユーザーを追加する (force:user:create) 5. パーミッションを付与する (force:user:permset:assign) 6. データを作成する(sfdx force:data:tree:import) 7. Apexで複雑なデータを作成する (force:apex:execute) 14
  11. Copyright © TeamSpirit Inc. All Rights Reserved. Salesforce DX 活⽤状況

    15 項⽬ ★ ★ ★ ★ ★ ★ Salesforce DX CLI VS Code から利⽤する CLI を利⽤して デプロイなどを実⾏する CLI を利⽤して ⾃動テストを実⾏する Scratch Org ⼀部で利⽤する 開発時には Scratch Org を利⽤する Scratch Org を利⽤して ⾃動テスト並列化を実現 する 管理パッケージ 第1世代管理パッケージ を利⽤する ロック解除済みパッケー ジを利⽤する 第2世代管理パッケージ を利⽤する 静的解析 VS Code から PMD を 利⽤する CI で PMD 実⾏結果を レポートする PMD で重要な警告があ るときは、チケットを⾃ 動的に発⾏する コードフォーマット VS Code から PMD (Code Style)を利⽤する VS Code から Prettier を利⽤する コミット時に⾃動的に コードフォーマットを実 ⾏する VS Code から利⽤する CLI を利⽤して デプロイなどを実⾏する CLI を利⽤して ⾃動テストを実⾏する ⼀部で利⽤する 第1世代管理パッケージ を利⽤する VS Code から PMD を 利⽤する CI で PMD 実⾏結果を レポートする VS Code から PMD (Code Style)を利⽤する VS Code から Prettier を利⽤する
  12. Copyright © TeamSpirit Inc. All Rights Reserved. Salesforce DX 所感

    • 良い点 • Visual Studio Code のSalesforce DX 拡張機能の出来が良い • Salesforce DX CLI で差分デプロイができる 17 今後開発する場合は Salesforce DX を使わない⼿はない • 今後の課題 • Scratch Org の活⽤拡⼤ • DevHub 環境に Developer Edition Org を利⽤しているのでPBOに移⾏する • Master ブランチ以外でも CI を実⾏できるようにする • 開発者が利⽤する場合、開発環境にあるデータを引き継ぎたい • 第2世代管理パッケージの活⽤ • Winterʼ20 で GA となるため、利⽤していきたい • 既存パッケージの移⾏はこれからなので既存プロダクトは移⾏機能待ち