Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Salesforce DX 〜Salesforce開発にも継続的デリバリーを〜
Search
Akira Kuratani
September 26, 2017
Technology
110
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
660
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
kuratani
0
1.6k
なぜ、Salesforceは最強の業務アプリ・プラットフォームなのか?
kuratani
0
75
愛される管理画面の作り方
kuratani
0
120
Japan Dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
kuratani
0
71
Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例
kuratani
0
150
愛される AppExchangeアプリを創るべき「3つの理由」
kuratani
0
100
Other Decks in Technology
See All in Technology
企画からFlutter実装まで、1つの機能を一貫して開発したプロセスと成果物
khiroyuki1003
1
160
Oracle Database Security 詳細解説
oracle4engineer
PRO
2
270
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
200
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
110
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
1
170
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
570
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
640
[General] 개발자로 해외 기업에서 일하기
skydoves
1
300
Software Engineering in an AI-Driven World
erikjhordan_rey
0
120
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
130
GCASアップデート(202607-202610)
techniczna
1
190
AI時代に求められる優秀なTechLeadの振る舞い
pospome
10
14k
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
A Modern Web Designer's Workflow
chriscoyier
699
190k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
320
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The SEO identity crisis: Don't let AI make you average
varn
0
630
Optimizing for Happiness
mojombo
378
71k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.3k
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!
質問タイム
ありがとうございました