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. 株式会社チームスピリット
    Salesforce DX の始め⽅とパートナー様成功事例
    パートナー事例︓CI環境構築事例(Jenkins/CircleCI)
    2019/08/30
    倉⾕ 彰
    1

    View Slide

  2. Copyright © TeamSpirit Inc. All Rights Reserved.
    アジェンダ
    • ⾃⼰&⾃社紹介
    • Salesforce World Tour Tokyo 2017 ふりかえり
    • Salesforce DX Upgrade History
    • 現在の Salesforce DX 活⽤状況
    • Salesforce DX 所感
    2

    View Slide

  3. 3
    About me
    Akira Kuratani / 倉⾕ 彰
    Director
    @a_kuratani
    Podcast(migration.fm)
    ハッシュダグ︓#migrationfm
    2019

    View Slide

  4. Copyright © TeamSpirit Inc. All Rights Reserved.
    「TeamSpirit」シリーズは、業務遂⾏に必要なさまざまな事務作業を
    ⼀体で処理できるクラウドシステム。これまでの作業の⼿間や時間を
    圧倒的に短縮し、働く⼈それぞれが本来の仕事に集中できる余裕を創
    出することで、充実した仕事ができる環境を整えます。
    なんと ⽉額 600円/1⼈
    (50ライセンス、30,000円から)
    →料⾦表を⾒る
    様々な機能が連携して1サービスに統合︕
    P.4
    勤怠管理
    就業管理
    経費精算
    カレンダー
    ⼯数管理
    電⼦稟議
    SNS
    ダッシュボード
    マイナンバー管理
    社員情報管理
    シフト管理
    プロジェクト
    原価管理

    View Slide

  5. 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 利⽤者

    View Slide

  6. Salesforce World Tour Tokyo 2017 ふりかえり
    SalesforceDX〜Salesforceにも継続的デリバリーを〜
    6

    View Slide

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

    View Slide

  8. 2017年当時の継続的インテグレーション環境
    BitBucket
    etc.
    Jenkins
    ソースコード
    静的解析
    通知
    ドキュメント⽣成
    ユニットテスト
    Slack
    E2Eテスト
    AWS EC2
    Migration Tools
    JUnit
    ユニットテスト組織
    Developer Edition
    E2Eテスト組織
    Developer Edition
    Selenium Docker BrowserStack

    View Slide

  9. Salesforce DX Upgrade History
    9

    View Slide

  10. 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
    へ移⾏開始

    View Slide

  11. 現在の Salesforce DX 活⽤状況
    11

    View Slide

  12. チームスピリットにおける 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
    移⾏中

    View Slide

  13. チームスピリットにおける 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テスト
    ソースコード

    View Slide

  14. 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

    View Slide

  15. 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
    を利⽤する

    View Slide

  16. Salesforce DX 所感
    16

    View Slide

  17. 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 となるため、利⽤していきたい
    • 既存パッケージの移⾏はこれからなので既存プロダクトは移⾏機能待ち

    View Slide

  18. View Slide