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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Akira Kuratani
September 26, 2017
Technology
0
93
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
【Agentforce Hackathon Tokyo 2025 発表資料】みらいシフト:あなた働き方を、みらいへシフト。
kuratani
1
250
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
kuratani
0
1.4k
なぜ、Salesforceは最強の業務アプリ・プラットフォームなのか?
kuratani
0
57
愛される管理画面の作り方
kuratani
0
87
Japan Dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
kuratani
0
57
Salesforce DX の始め方とパートナー様成功事例 パートナー事例:CI環境構築事例
kuratani
0
130
愛される AppExchangeアプリを創るべき「3つの理由」
kuratani
0
76
Other Decks in Technology
See All in Technology
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
110
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
300
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
8
5k
Phase03_ドキュメント管理
overflowinc
0
2.8k
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
380
Phase01_AI座学_基礎
overflowinc
0
4.4k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
16k
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
210
Phase02_AI座学_応用
overflowinc
0
3.2k
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
140
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
ハーネスエンジニアリング×AI適応開発
aictokamiya
1
360
Featured
See All Featured
Bash Introduction
62gerente
615
210k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
A Modern Web Designer's Workflow
chriscoyier
698
190k
Color Theory Basics | Prateek | Gurzu
gurzu
0
270
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
240
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
Optimising Largest Contentful Paint
csswizardry
37
3.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!
質問タイム
ありがとうございました