Salesforce DX & Github Deep Dive 岡本 充洋 Senior Developer Evangelist Saelsforce.com Salesforceの開発生産性向上のための新機能
Salesforce DX & Github Deep Dive
岡本 充洋Senior Developer EvangelistSaelsforce.com
Salesforceの開発生産性向上のための新機能
Forward-Looking Statements
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
モダンなソフトウェアデリバリに必要な事
➔ すべてはソースドリブンであること
➔ 環境は簡単に構築・破棄ができること
➔ 開発がチームのコラボレーションを通して行える事
➔ プロセスおよびツールは継続的デリバリをサポートすること
➔ 開発フローではオープンでスタンダードかつ拡張可能なものが利用出来る
➔ アジャイルな配布モデルに基づくパッケージングがサポートされている
Building a world-class software factory
Salesforce開発の変換
カテゴリ 以前 これから
ソースの元 ランタイム環境 (Org) バージョン管理システム
環境 Few / Durable Many / Ephemeral
開発モデル 組織単位 チーム単位
デリバリーモデル マニュアルによるリリース管理 継続的デリバリ
ツール カスタム CLI-Driven
Salesforce DXSalesforceアプリで継続的デリバリーを実現
ソース駆動開発コード、メタデータ、組織設定のバージョンコントロール
素早い開発&デプロイScratch Orgsを開発およびテスト
オープンで業界標準に準拠した開発フローGit, Selenium, Eclipse, Sublimeなど、開発者の好みのツールを利用可能
Source Code - コード, メタデータ, 組織の設定
Scratch Orgs - ソースドリブンアドホック
CI - 継続的インテグレーションと自動化テストの統合
Pipelines - チームでのコラボレーション & 継続的デリバリー
Salesforce DX: 何を作っているか
Packaging 2.0 - 顧客とISVに新しい体験を
Force.com IDE 2.0 - チームおよびソース開発をサポートするツール
Salesforce CLI - 開発と自動化をフルサポートする
SALESFORCE DX
コードおよびメタデータをバージョン管理システムへ
● ソースコード, メタデータ, 設定, テストデータ, Salesforce 組織構成, サービス
Salesforce DX APIs● 自動化のためのTooling AP● ソース同期 API● 組織内の変更履歴のin & out● 安定したソースの構造(順序、一貫性)
主なメリット:● 現在の変更管理プロセスとのガバナンス● 業界標準のコラボレーションツールとの緊密な
インテグレーション
ソース駆動開発
Salesforce CLISALESFORCE DX
Salesforce CLI● 開発およびCI用の組織を生成● 組織及びファイルシステムからソースを同期● 開発及びテスト用のデータのインポート and Test● テストスイートの作成と実行● パッケージとアーティファクトのライフサイクル制御
主なメリット:● 全ての SalesforceDX 機能への単一のインタフェース● 開発生産性の向上● バージョン管理やCI、外部ツールとのインテグレーション
SALESFORCE DX
Scratch Orgs
Scratch Orgs ● 揮発性 / 破棄が可能● ソースコードによる設定からのスピンアップ● 開発, テスト, CI, 継続的デリバリー(CD)● 組織構造の設定 (Edition, Features, Preferences)
主なメリット:● 開発生産性● チームコラボレーション● DevOps の自動化
パイプライン
● アプリケーションのビルドとワークフローを自動化● チームコラボレーションでアプリをレビュー● セキュリティおよびコードの本番環境へのリリース管理
主なメリット:● 開発生産性の向上● コード品質の向上● チームコラボレーション● コード管理の効率化
継続的デリバリー: パイプラインSALESFORCE DX
Heroku CI (new!)● 柔軟なスクリプトベースのテストスイート● 継続的デリバリーワークフロー及びUIとの統合● Apex及び複数の言語を利用したアプリのサポート
Bring-your-own CI - 既存のCIを利用する ● Heroku CIの代わりに既存のCIツール(Jenkins, TeamCity など)との
統合も可能● 複数のテストの結果を一つの統合されたUIで表示
主なメリット:● 開発生産性の向上 ● Apex, Lightningや数多くのプログラミング言語に対応● 高速、スケーラブル、統合されたテスト
継続的インテグレーション(CI)SALESFORCE DX
Salesforce IDESALESFORCE DX
Eclipse IDE 機能改善
● 巨大なコードベースやLightningの開発のサポート● 開発、テスト用のScratch環境を即座にスピンアップ● Scrach環境からのソースコードの同期● コード保管、リファクタリング、ナビゲーション
開発時の選択肢
● Eclipse IDE● コミュニティによる IDE:
○ IntelliJ, Cloud9, Sublime Text, Visual Studio
主なメリット:● 統合された開発体験● 開発生産性の向上● 開発ツールのサポート
次世代のパッケージング
● 現在のパッケージからの改善ポイント:○ ソースからパッケージをビルド○ 宣言的な管理項目ルール○ 複数パッケージを単一の名前空間より提供○ グローバル名前空間を顧客に解放
● IT部門とISVに統一化されたデプロイ手法を提供
主なメリット:● 変更はデプロイではなく、インストールとプッシュによって
実施● ISVの俊敏性 、IT部門の生産性向上● 統一化されたデプロイ体験
Packaging 2.0SALESFORCE DX
開発環境から本番へのデプロイアプローチの進化
変更セットによって組織へ差分をデプロイ
Acme Production Org
Salesforce.com - Enterprise
Change Set 1
Installed Change Sets
Change Set 2
Developer Sandbox
Salesforce.com - Sandbox
開発環境から本番へのデプロイアプローチの進化
Antによりデプロイ
Release 1
Release Branches
Release 2
Version Control System Acme Production Org
Salesforce.com - Enterprise
開発環境から本番へのデプロイアプローチの進化
パッケージのビルドおよびインストール
Acme Production Org
Salesforce.com - Enterprise
Sales App V 1
Package Branches
Sales App V 2
Version Control System
DreamHouse V 1
DreamHouse V2
Sales App V1
Installed Packages
DreamHouse V2
開発環境から本番へのデプロイアプローチの進化
ソースを管理し、MD APIでリリース
Acme Production Org
Salesforce.com - Enterprise
Sales App V 1
Package Branches
Sales App V 2
Version Control System
Custom App V 1
Custom App V2
開発環境から本番へのデプロイアプローチの進化
Version Control System
● ソースコード管理システムにあるコードが全てのオリジナル● Production Org上のコードではなくリポジトリ上のコード● Sandbox Org上のコードではなく、Branchツリー
メジャーリリースマイルストーン現在の計画 - 変更の可能性は常にあります
2017年2月 2017年6月 2017年10月
ACDX➔ Command-line Interface➔ Source sync API➔ Scratch orgs➔ Eclipse プラグイン➔ Test ランナー
非公開 Pilot 公開 Beta GA
Heroku上の継続的デリバリー➔ Heroku addon, buildpack➔ Heroku Pipelines➔ Heroku CI
非公開 Pilot 公開 Beta * GA *
パッケージング V2 開発者プレビュー 非公開 Pilot 公開 Beta
Admin “Vision” Demo @ TrailheaDX ...
ステータスとリソースSalesforce DXの状況
● Salesforce DXは現在リミテッド開発者プレビューで応募は締め切っています
● 2017年の上半期により広範囲のパイロットおよびベータが開始される予定です
● より詳細情報や今後のリリースについての情報:
○ https://www.salesforce.com/products/platform/products/salesforce-dx/
○ https://developer.salesforce.com/platform/dx
● 追加のリソース:
○ Blog: https://developer.salesforce.com/blogs/developer-relations/2016/10/salesforce-dx-ux-developers.html
○ Wade Wegner (VP of Product)へのインタビュー: https://www.infoq.com/news/2016/10/salesforce-dx