Dreamforce2016 Day3:Building Force.com Apps with Heroku

皆さんこんにちは、川口です

はじめて、Dreamforce '16に参加させて頂いています。
会社には貴重な体験をさせて頂き本当にありがとうございます。

参加してみての感想ですが、参加している世界各国の人達の「積極的に参加して、何かを持ち帰りたい!!」という意欲がひしひしと伝わってきます。
みんな真剣にセッションを聞いて、積極的に質問しています。
私も、タイミングが有ったらセッションのスピーカーに一言質問しようと思いましたが、腰はふっと!!0.5mm位気持ち上がるのですが、勇気のなさやコミュニケーション能力不足を言い訳に悔しさを覚えました。
質問しないことを当たり前と思わず、また、機会を頂けたら質問できるよう努力したいと考えています。

さて、本題に、

私の担当の一つに自動化があります。3年前からJenkinsを使った組織間のメタデータ移行などやっていました。最近では、社内ツールでGitを使って複数環境へのデプロイを行っています。

出発する前から、Continuous Integration、Continuous Delivery、SVN and Jenkins、Heroku Flowというキーワードに興味を持っていて、実際に参加したセッションの中から、「Building Force.com Apps with Heroku」について、レポートしたいと思います。

概要

Heroku delivers best-of-breed tools for deploying your App Cloud applications Until now, the perception of Heroku has been that is entirely separate from Force.com app dev. Learn how you can leverage the synergy between Heroku and Force.com that allows you to use these tools to manage and deploy your force.com applications.

和訳「Herokuは、今まであなたのApp Cloud アプリケーションをデプロイするための最善のツールを提供し、Herokuの認識はForce.comアプリdevのとは全く別のものですされています。あなたが管理し、force.comのアプリケーションをデプロイするために、これらのツールを使用することができます。HerokuのとForce.comの間の相乗効果を活用する方法を学びます。」

ということだそうです。私がセッションに参加してみて私なりに内容を整理すると、

HerokuからScrach Orgsという組織が作成できるようになり、その組織でForce.comアプリケーションの開発ができます。また、デプロイ等を行うための新たなコマンドラインイターフェースが提供され、さらにHerokuを使った開発ではお馴染みのHeroku Pipelineと統合することができるようになります。自分でアプリケーションを管理して、開発から本番へデプロイするまでHerokuで提供されるツールを使って行なうことが出来きます。このセッションはその活用方法について学ぶセッションでした。

SalesforceDXを使用することによるメリットとして以下の事を言ってました。

  • Gitでソースが管理
  • Gitからクローンして、組織を作成、アプリケーションメタデータとデータのデプロイ、パッケージのインストール、ApexTest実行、Herokuへデプロイ
  • IDEからSalesforceDXのコマンド実行
  • エディタを自由に選べる
  • Seleniumなどのテストフレームワークを含めて実行
  • HelokuのPipeline機能で、開発環境、ステージング、本番への自動テスト、デプロイがマウスで実行

コマンドラインインターフェース(SalesforceDX)

Scrach Orgsの環境作成、管理、アプリケーションメタデータとデータのデプロイ、パッケージのインストール、ApexTest実行、Heroku操作ができます。


コマンドラインからできること

Scrach Orgs

SalesforceDXで組織を作成する場合、Scrach Orgsという単語が出てきました。イメージでたとえると何もない草原だそうです。メタデータの登録されていないまっさらの組織という感じに受け止めました。

ScrachOrgのイメージ図

コマンド一覧

私が気になったSalesforceDXのコマンドを抜き出しました。全てのコマンドはスライドに載っています。
・force:org:の組織管理
・force:ddl:のオブジェクト操作
・force:packageversion:のパッケージ操作
・force:src:のGit操作
・force:test:のテストフレームワークの実行

この写真は、Keynoteのスライドを引用しました。

SalesforceDXコマンドSalesforceDX2

コマンド操作

コマンドからScrach Orgsの作成。

組織作成_IMG_2406.JPG

Heroku Pipeline

Heroku Pipeline機能を使って、PullRequestでREVIEW APPに登録し、STAGING、PRODUCTION環境へボタン操作だけで、Seleniumを含めた自動テストとデプロイの実行、本番環境へのデプロイもできる動きになっています。

HelokuPipelineIMG_2422.JPG

私の感想

私の感想ですが、Scrach Orgsという環境をGitから構築できるようになって、最新のソースから各開発者が簡単に開発環境を準備できるようになったと思いました。これは今までForce.comエンジニアにとって待望の機能だったのではないでしょうか。

そして、各開発者が開発したソースはPullRequestでREVIEW APPに登録し、管理者はHeroku PipelineのREVIEW APP一覧から確認したいPullRequestを選択すると組織が作成され確認できる感じです。確認ができたらGitでDeveplop用のブランチへマージし、その後Heroku Pipelineから各環境へデプロイ、各担当者がテストして本番環境にリリースするようになってる感じでした。

これで、各開発者と管理者はGitで動くソースをいつでも確認できるようになったと思いました。また、開発フローとコード管理と環境をうまく結びつけたHerokuの機能を使用することにより、本番反映までのフローが分かりやすくなった気がしました。

テストフレームワークについては、Seleniumなどのテストフレームワークを含めて実行できるようになると自動テストもしやすくなりそうですね。

名残惜しいですが最終日です、楽しんでいきます!!ではー




<Dreamforceフィードバック勉強会>

今年もやります!『TerraSky Power Night Dreamforce Feedback!! 』
Dreamforceに参加したテラスカイのエンジニアが、現場の生の情報をテクノロジーカットでお伝えします。
またとないこの勉強会にぜひご参加ください。Dreamforceについて語り合いましょう!

dreamforce