テックブログ

Heroku Meetup #14で発表しました

岩崎です。2016年8月24日に行われたHeroku Meetup #14 ReBornで発表しました。

セールスフォースの岡本さんに、Heroku Connectのこと話しますか、と聞かれたこともあり、途中までその方向で資料を作っていたのですが、もう少しマニアックな話をしようかな、と途中から内容を変更してHerokuとSalesforceのSCM(ソースコードマネージメント)の違いと今後の予測的なご紹介をしました。デモではここで紹介したforce-com-appとHeroku Pipelinesを組み合わせて、stagingとproductionにそれぞれ別のSalesforce環境を紐付けた上で、stagingで確認した内容をpromoteにてproduction環境に反映する様子をお見せしました。

スクリーンショット 2016-08-29 16.22.20

実際のところは、ある程度の規模のパートナーであれば、こういったソースコード管理やリリース管理の工夫は何かしらなさっていることと思います。アピリオでもCloud Management Center (CMC) というソリューションの中で、環境ごとのdiffや、リリース用のpackage.xmlを作る仕組み、テスト結果の推移を管理する仕組みなどを整備しています。このような仕組みをお持ちの組織で開発を行っている方から見ると、今回のデモを見てもあまりピンと来なかったかもしれません。

しかしながら、私が思うに、Salesforceの標準として仕組みが整備されていくことこそが重要なのではないかと思っており、この方向性の今後の機能追加には大いに期待しています。例えば下図は私の案ですが、Herokuやそこで使われるSCMであるgitとの親和性を考えると、Salesforceの各組織に対応するリポジトリーがプラットフォームの中に存在し、各Sandboxがブランチになるとともに変更履歴を管理できる形はいかがでしょう。開発中のSandboxに施した変更は一旦"unstaged change"として扱われ、変更内容の比較(diff)や取消(checkout --)をした上で、必要なコンポーネントのみ改めて追加(add)し、まとめてcommitしたものを別環境(ブランチ)にmerge/promoteして行くような形です。

Dreamforceでもこの辺のセッションにて何か発表がされることを期待しましょう(私は行けませんけど)。

なお、次回のHeroku Meetupも10月頃に開催予定とのことですので、これも楽しみにしたいと思います。

Tags:  , , ,
Appirio