Salesforce Webinar で SalesforceDX について事例を発表しました。 https://developer.salesforce.com/events/webinars/salesforcedx-20190830
株式会社チームスピリットSalesforce DX の始め⽅とパートナー様成功事例パートナー事例︓CI環境構築事例(Jenkins/CircleCI)2019/08/30倉⾕ 彰1
View Slide
Copyright © TeamSpirit Inc. All Rights Reserved.アジェンダ• ⾃⼰&⾃社紹介• Salesforce World Tour Tokyo 2017 ふりかえり• Salesforce DX Upgrade History• 現在の Salesforce DX 活⽤状況• Salesforce DX 所感2
3About meAkira Kuratani / 倉⾕ 彰Director@a_kurataniPodcast(migration.fm)ハッシュダグ︓#migrationfm2019
Copyright © TeamSpirit Inc. All Rights Reserved.「TeamSpirit」シリーズは、業務遂⾏に必要なさまざまな事務作業を⼀体で処理できるクラウドシステム。これまでの作業の⼿間や時間を圧倒的に短縮し、働く⼈それぞれが本来の仕事に集中できる余裕を創出することで、充実した仕事ができる環境を整えます。なんと ⽉額 600円/1⼈(50ライセンス、30,000円から)→料⾦表を⾒る様々な機能が連携して1サービスに統合︕P.4勤怠管理就業管理経費精算カレンダー⼯数管理電⼦稟議SNSダッシュボードマイナンバー管理社員情報管理シフト管理プロジェクト原価管理
Copyright © TeamSpirit Inc. All Rights Reserved.AppExchange Premier Partnerに2年連続認定(2019年2⽉)導⼊実績 Award1100社 17万ID突破︕株式会社チームスピリットP.5( FY19Q2末時点)050010001500050000100000150000200000FY12 FY13 FY14 FY15 FY16 FY17 FY18 FY19Q2契約ライセンス数の推移契約ライセンス数 契約社数(社)解約削減を反映した有効なTeamSpirit 利⽤者
Salesforce World Tour Tokyo 2017 ふりかえりSalesforceDX〜Salesforceにも継続的デリバリーを〜6
2017年当時の開発環境BitBucketDeveloperEdition OrgDeveloperDeveloperEdition OrgDeveloperJenkins DeveloperEdition OrgMigrationツールMigrationツール orGulp + jsforceContinuous IntegrationMigrationツール orGulp + jsforce
2017年当時の継続的インテグレーション環境BitBucketetc.Jenkinsソースコード静的解析通知ドキュメント⽣成ユニットテストSlackE2EテストAWS EC2Migration ToolsJUnitユニットテスト組織Developer EditionE2Eテスト組織Developer EditionSelenium Docker BrowserStack
Salesforce DX Upgrade History9
Copyright © TeamSpirit Inc. All Rights Reserved.Winter’18 Spring’18 Summer’18 Winter’19 Spring’19 Summer’19 Winter’20Salesforce DX Upgrade History10▼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へ移⾏開始
現在の Salesforce DX 活⽤状況11
チームスピリットにおける Salesforce DX 活⽤状況BitBucketDeveloperEdition OrgDeveloperDeveloperEdition OrgDeveloperJenkinsScratch OrgDeveloperEdition OrgSalesforce DX CLISalesforce DX CLISalesforce DX CLISalesforce DX CLIContinuous Integration移⾏中
チームスピリットにおける Salesforce DX 活⽤状況BitBucketetc.Jenkins静的解析通知ドキュメント⽣成JavaScript Unit TestSlackE2EテストAWS EC2JUnitE2Eテスト組織Developer EditionSelenium Docker BrowserStackSalesforce DX CLI ScratchOrg並⾏化型チェック(flow)Code FormatterApexテストソースコード
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
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を利⽤する
Salesforce DX 所感16
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 となるため、利⽤していきたい• 既存パッケージの移⾏はこれからなので既存プロダクトは移⾏機能待ち