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
99
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
370
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
kuratani
0
1.4k
なぜ、Salesforceは最強の業務アプリ・プラットフォームなのか?
kuratani
0
63
愛される管理画面の作り方
kuratani
0
99
Japan Dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
kuratani
0
63
Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例
kuratani
0
130
愛される AppExchangeアプリを創るべき「3つの理由」
kuratani
0
86
Other Decks in Technology
See All in Technology
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
270
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
950
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
250
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
510
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
24
13k
AI と創る新たな世界 / A New World Created with AI
ks91
PRO
0
120
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
260
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
360
Rubyで音を視る
ydah
1
100
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
260
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
480
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
WENDY [Excerpt]
tessaabrams
11
38k
Unsuck your backbone
ammeep
672
58k
Side Projects
sachag
455
43k
Mobile First: as difficult as doing things right
swwweet
225
10k
Music & Morning Musume
bryan
47
7.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
600
Raft: Consensus for Rubyists
vanstee
141
7.5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Context Engineering - Making Every Token Count
addyosmani
9
940
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!
質問タイム
ありがとうございました