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
0
74
Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜
Salesforce World Tour Tokyo 2017 でSalesforceDX事例について発表しました。
Akira Kuratani
September 26, 2017
Tweet
Share
More Decks by Akira Kuratani
See All by Akira Kuratani
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
kuratani
0
1.2k
なぜ、Salesforceは最強の業務アプリ・プラットフォームなのか?
kuratani
0
43
愛される管理画面の作り方
kuratani
0
72
Japan Dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
kuratani
0
44
Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例
kuratani
0
110
愛される AppExchangeアプリを創るべき「3つの理由」
kuratani
0
64
Other Decks in Technology
See All in Technology
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
460
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
140
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
450
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
320
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
640
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.6k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
1
380
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
12
5.5k
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
220
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Typedesign – Prime Four
hannesfritz
42
2.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
For a Future-Friendly Web
brad_frost
180
9.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Cult of Friendly URLs
andyhume
79
6.6k
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!
質問タイム
ありがとうございました