Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜
Search
Akira Kuratani
September 26, 2017
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜
Salesforce World Tour Tokyo 2017 でSalesforceDX事例について発表しました。
Akira Kuratani
September 26, 2017
More Decks by Akira Kuratani
See All by Akira Kuratani
【Agentforce Hackathon Tokyo 2025 発表資料】みらいシフト:あなた働き方を、みらいへシフト。
kuratani
1
550
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
kuratani
0
1.6k
なぜ、Salesforceは最強の業務アプリ・プラットフォームなのか?
kuratani
0
67
愛される管理画面の作り方
kuratani
0
110
Japan Dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
kuratani
0
65
Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例
kuratani
0
140
愛される AppExchangeアプリを創るべき「3つの理由」
kuratani
0
92
Other Decks in Technology
See All in Technology
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
1.1k
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.2k
魔法少女がClaude Codeを監視する / ccportal-deck
noriyukitakei
3
110
Azure App Service / Container Apps の組み込み認証
kuniteru
0
130
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
2
140
markdown-poster Introduction
kazamori
0
460
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
9
1.8k
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
210
AI × Datadog MCP でコスト削減まで実現した Metric Streams の導入
three_mouth_ago
0
140
VPCでもFloatingIPを使いたいんだ
y_kotani
1
140
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
220
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Ruling the World: When Life Gets Gamed
codingconduct
0
320
Paper Plane
katiecoart
PRO
2
53k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
440
Automating Front-end Workflow
addyosmani
1369
210k
YesSQL, Process and Tooling at Scale
rocio
174
15k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Transcript
Salesforce World Tour Tokyo 2017 Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜 2017/9/27
About me Akira Kuratani / 倉⾕ 彰 TeamSpirit Inc. Architect
@a_kuratani Podcast(migration.fm) ハッシュダグ︓#migrationfm Winterʻ17
「毎⽇の業務に必要な事務処理ツール」をひとつにまとめた 働き⽅改⾰プラットフォーム「TeamSpirit」シリーズで、 変化に挑戦する⼈と企業に貢献することを⽬指す企業です。 株式会社チームスピリット 勤怠管理 就業管理 経費精算 カレンダー ⼯数管理 電⼦稟議
SNS ダッシュボード マイナンバー管理 社員情報管理 シフト管理 プロジェクト 原価管理
株式会社チームスピリット AppExchange Partner of the year2016 ISV GOLD Partner 2016(Global)
導⼊実績 Award AppExchange アプリケーション AppExchange 5年で800社 10万ID突破
急成⻑を⽀える仕組みづくり
継続的デリバリーとは ソースコード管理 ビルド ステージング プロダクション 継続的インテグレーション 継続的デリバリー 継続的デプロイ → ⾃動デプロイ
✓ 承認&デプロイ 静的解析・⾃動テスト
TeamSpiritを⽀える継続的インテグレーション BitBucket etc. Jenkins ソースコード 静的解析 通知 ドキュメント⽣成 ユニットテスト Slack
E2Eテスト AWS EC2 Migration Tools JUnit ユニットテスト組織 Developer Edition E2Eテスト組織 Developer Edition Selenium Docker BrowserStack
DEMO
ここに⾄るまでの問題と対策
最初の問題 • リポジトリとパッケージ作成組織が不⼀致 リポジトリ パッケージ作成組織 開発組織 開発組織 ≠ ≠
• ソースコード管理の⼀元化 • リポジトリからパッケージ作成組織にデプロイする 対策 リポジトリ パッケージ作成組織 開発組織 開発組織
次に出てきた問題 • リリース直前に問題が発覚する • デプロイエラー、テスト失敗、カバレッジ不⾜ リポジトリ パッケージ作成組織 開発組織 開発組織
• Jenkinsを導⼊し、デプロイ・Apexテストを定期実⾏ 対策 リポジトリ パッケージ作成組織 開発組織 開発組織 開発組織 Jenkins
さらなる問題が… • 終わらない回帰テスト… 機能数 2012年 2013年 2014年 2015年 2016年 2017年
• ブラウザを操作して⾃動テスト(GUIテスト⾃動化) 対策 開発組織 Jenkins Docker 開発組織 開発組織 ローカル BrowserStack
Selenium Selenium
次のステップ • コード品質を上げたい • コーディングスタイルの不統⼀ • セキュリティ脆弱性 • ドキュメントの作成が⾯倒
• 静的解析 • Force.com Security Source Code Scanner⾃動化 対策 有償化の連絡!
• 静的解析 • Force.com Security Source Code Scanner⾃動化 • PMD
Apex導⼊ • Jenkinsでもローカルでもチェック可能 対策 • ドキュメント⾃動⽣成 • ApexDoc • メタデータ(XML)をHTMLに変換
SalesforceDXで変わる 継続的インテグレーション
Before SalesforceDX BitBucket etc. Jenkins ソースコード 静的解析 通知 ドキュメント⽣成 ユニットテスト
Slack E2Eテスト AWS EC2 Migration Tools JUnit ユニットテスト組織 Developer Edition E2Eテスト組織 Developer Edition Selenium Docker BrowserStack
After SalesforceDX BitBucket etc. Jenkins ソースコード 静的解析 通知 ドキュメント⽣成 ユニットテスト
Slack E2Eテスト AWS EC2 SalesforceDX CLI Scratch Org 並⾏化 Selenium Docker BrowserStack
Before SalesforceDX リポジトリ master feature/TS-145 feature/TS-137 feature/TS-143 ⾃動テスト Developer Edition
After SalesforceDX master feature/TS-145 feature/TS-137 feature/TS-143 ⾃動テスト Scratch Org リポジトリ
DEMO
SalesforceDXで変わる 継続的デリバリー
継続的デリバリー(SI・⾃社開発の場合) ソースコード管理 ビルド ステージング プロダクション Sandbox組織 運⽤組織 デプロイ デプロイ 変更セット
開発組織 デプロイ
継続的デリバリー(ISV/OEMの場合) ソースコード管理 ビルド ステージング プロダクション パッケージ 作成組織 ユーザ運⽤組織 デプロイ プッシュアップグレード
開発組織 デプロイ パッケージ 確認組織 パッケージ作成
• SalesforceDXでモダンな開発スタイルに移⾏ • 継続的インテグレーション • 継続的デリバリー • すぐに始められるSalesforceDX • PMD
Apex による静的解析 • Apexテストの⾃動実⾏ まとめ
We’re Hiring!
質問タイム
ありがとうございました