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

Salesforce DX & GitHub Deep Dive

Jan 22, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Salesforce DX & GitHub Deep Dive

Salesforce DX & Github Deep Dive

岡本 充洋Senior Developer EvangelistSaelsforce.com

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

Page 2: Salesforce DX & GitHub Deep Dive

Mitsuhiro Okamoto

Senior Developer Evangelist

Page 3: Salesforce DX & GitHub Deep Dive

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.

Page 4: Salesforce DX & GitHub Deep Dive

モダンなソフトウェアデリバリに必要な事

➔ すべてはソースドリブンであること

➔ 環境は簡単に構築・破棄ができること

➔ 開発がチームのコラボレーションを通して行える事

➔ プロセスおよびツールは継続的デリバリをサポートすること

➔ 開発フローではオープンでスタンダードかつ拡張可能なものが利用出来る

➔ アジャイルな配布モデルに基づくパッケージングがサポートされている

Building a world-class software factory

Page 5: Salesforce DX & GitHub Deep Dive

Salesforce開発の変換

カテゴリ 以前 これから

ソースの元 ランタイム環境 (Org) バージョン管理システム

環境 Few / Durable Many / Ephemeral

開発モデル 組織単位 チーム単位

デリバリーモデル マニュアルによるリリース管理 継続的デリバリ

ツール カスタム CLI-Driven

Page 6: Salesforce DX & GitHub Deep Dive

Salesforce DXSalesforceアプリで継続的デリバリーを実現

ソース駆動開発コード、メタデータ、組織設定のバージョンコントロール

素早い開発&デプロイScratch Orgsを開発およびテスト

オープンで業界標準に準拠した開発フローGit, Selenium, Eclipse, Sublimeなど、開発者の好みのツールを利用可能

Page 7: Salesforce DX & GitHub Deep Dive

Source Code - コード, メタデータ, 組織の設定

Scratch Orgs - ソースドリブンアドホック

CI - 継続的インテグレーションと自動化テストの統合

Pipelines - チームでのコラボレーション & 継続的デリバリー

Salesforce DX: 何を作っているか

Packaging 2.0 - 顧客とISVに新しい体験を

Force.com IDE 2.0 - チームおよびソース開発をサポートするツール

Salesforce CLI - 開発と自動化をフルサポートする

Page 8: Salesforce DX & GitHub Deep Dive

SALESFORCE DX

コードおよびメタデータをバージョン管理システムへ

● ソースコード, メタデータ, 設定, テストデータ, Salesforce 組織構成, サービス

Salesforce DX APIs● 自動化のためのTooling AP● ソース同期 API● 組織内の変更履歴のin & out● 安定したソースの構造(順序、一貫性)

主なメリット:● 現在の変更管理プロセスとのガバナンス● 業界標準のコラボレーションツールとの緊密な

インテグレーション

ソース駆動開発

Page 9: Salesforce DX & GitHub Deep Dive

Salesforce CLISALESFORCE DX

Salesforce CLI● 開発およびCI用の組織を生成● 組織及びファイルシステムからソースを同期● 開発及びテスト用のデータのインポート and Test● テストスイートの作成と実行● パッケージとアーティファクトのライフサイクル制御

主なメリット:● 全ての SalesforceDX 機能への単一のインタフェース● 開発生産性の向上● バージョン管理やCI、外部ツールとのインテグレーション

Page 10: Salesforce DX & GitHub Deep Dive

SALESFORCE DX

Scratch Orgs

Scratch Orgs ● 揮発性 / 破棄が可能● ソースコードによる設定からのスピンアップ● 開発, テスト, CI, 継続的デリバリー(CD)● 組織構造の設定 (Edition, Features, Preferences)

主なメリット:● 開発生産性● チームコラボレーション● DevOps の自動化

Page 11: Salesforce DX & GitHub Deep Dive

パイプライン

● アプリケーションのビルドとワークフローを自動化● チームコラボレーションでアプリをレビュー● セキュリティおよびコードの本番環境へのリリース管理

主なメリット:● 開発生産性の向上● コード品質の向上● チームコラボレーション● コード管理の効率化

継続的デリバリー: パイプラインSALESFORCE DX

Page 12: Salesforce DX & GitHub Deep Dive

Heroku CI (new!)● 柔軟なスクリプトベースのテストスイート● 継続的デリバリーワークフロー及びUIとの統合● Apex及び複数の言語を利用したアプリのサポート

Bring-your-own CI - 既存のCIを利用する ● Heroku CIの代わりに既存のCIツール(Jenkins, TeamCity など)との

統合も可能● 複数のテストの結果を一つの統合されたUIで表示

主なメリット:● 開発生産性の向上 ● Apex, Lightningや数多くのプログラミング言語に対応● 高速、スケーラブル、統合されたテスト

継続的インテグレーション(CI)SALESFORCE DX

Page 13: Salesforce DX & GitHub Deep Dive

Salesforce IDESALESFORCE DX

Eclipse IDE 機能改善

● 巨大なコードベースやLightningの開発のサポート● 開発、テスト用のScratch環境を即座にスピンアップ● Scrach環境からのソースコードの同期● コード保管、リファクタリング、ナビゲーション

開発時の選択肢

● Eclipse IDE● コミュニティによる IDE:

○ IntelliJ, Cloud9, Sublime Text, Visual Studio

主なメリット:● 統合された開発体験● 開発生産性の向上● 開発ツールのサポート

Page 14: Salesforce DX & GitHub Deep Dive

次世代のパッケージング

● 現在のパッケージからの改善ポイント:○ ソースからパッケージをビルド○ 宣言的な管理項目ルール○ 複数パッケージを単一の名前空間より提供○ グローバル名前空間を顧客に解放

● IT部門とISVに統一化されたデプロイ手法を提供

主なメリット:● 変更はデプロイではなく、インストールとプッシュによって

実施● ISVの俊敏性 、IT部門の生産性向上● 統一化されたデプロイ体験

Packaging 2.0SALESFORCE DX

Page 15: Salesforce DX & GitHub Deep Dive

Demo

Page 16: Salesforce DX & GitHub Deep Dive

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

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

Acme Production Org

Salesforce.com - Enterprise

Change Set 1

Installed Change Sets

Change Set 2

Developer Sandbox

Salesforce.com - Sandbox

Page 17: Salesforce DX & GitHub Deep Dive

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

Antによりデプロイ

Release 1

Release Branches

Release 2

Version Control System Acme Production Org

Salesforce.com - Enterprise

Page 18: Salesforce DX & GitHub Deep Dive

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

パッケージのビルドおよびインストール

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

Page 19: Salesforce DX & GitHub Deep Dive

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

ソースを管理し、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

Page 20: Salesforce DX & GitHub Deep Dive

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

Version Control System

● ソースコード管理システムにあるコードが全てのオリジナル● Production Org上のコードではなくリポジトリ上のコード● Sandbox Org上のコードではなく、Branchツリー

Page 21: Salesforce DX & GitHub Deep Dive

Takafumi ikeda

Solutions Engineer

Page 22: Salesforce DX & GitHub Deep Dive

Salesforce DX Roadmap

Page 23: Salesforce DX & GitHub Deep Dive

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

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 ...

Page 24: Salesforce DX & GitHub Deep Dive

ステータスとリソース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

Page 25: Salesforce DX & GitHub Deep Dive