Salesforce DX & GitHub Deep Dive

25
Salesforce DX & Github Deep Dive 岡本 充洋 Senior Developer Evangelist Saelsforce.com Salesforceの開発生産性向上のための新機能

Transcript of Salesforce DX & GitHub Deep Dive

Salesforce DX & Github Deep Dive

岡本 充洋Senior Developer EvangelistSaelsforce.com

Salesforceの開発生産性向上のための新機能

Mitsuhiro Okamoto

Senior Developer Evangelist

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

Demo

開発環境から本番へのデプロイアプローチの進化

変更セットによって組織へ差分をデプロイ

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ツリー

Takafumi ikeda

Solutions Engineer

Salesforce DX Roadmap

メジャーリリースマイルストーン現在の計画 - 変更の可能性は常にあります

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