目次
はじめに
Salesforceにおける開発 にてプロジェクトを複数チームで進行している場合等、リリース資材が競合することがあると思います。
そんなときはFlosum の機能「Smart Merge」を使って、競合した資材を1つにまとめることができます。
今回は、実際に「Smart Merge」を実施する操作の流れをご紹介いたします。
そんなときはFlosum の機能「Smart Merge」を使って、競合した資材を1つにまとめることができます。
今回は、実際に「Smart Merge」を実施する操作の流れをご紹介いたします。
前提条件(やりたいこと)とFlosum の操作の流れ
◆前提条件(やりたいこと)
2つの開発組織からBranchを作成、同じリリース資材にて異なる変更を加えていることが発覚した。
重複しているリリース資材について、どちらの変更も取り込んだ形で1つのBranchへまとめたい。
◆Flosum の操作の流れ
・Org接続
・Snapshot作成
・Branch作成
・Branch内容確認
・Branchのマージ(Smart Merge)
2つの開発組織からBranchを作成、同じリリース資材にて異なる変更を加えていることが発覚した。
重複しているリリース資材について、どちらの変更も取り込んだ形で1つのBranchへまとめたい。
◆Flosum の操作の流れ
・Org接続
・Snapshot作成
・Branch作成
・Branch内容確認
・Branchのマージ(Smart Merge)
Org接続、Snapshot作成、Branch作成
最初に、2つの開発組織からそれぞれBranchを作成する必要があります。
Branch作成までの手順につきましては別記事の内容と重複するため、今回は割愛いたします。
詳しくは、こちらの記事をご参照ください。
Branch作成までの手順につきましては別記事の内容と重複するため、今回は割愛いたします。
詳しくは、こちらの記事をご参照ください。
Salesforceのリリース管理アプリケーション「Flosum」の基本的な使い方と便利機能紹介 - TerraSkyBase | テラスカイを支える人とテクノロジーの情報を発信する基地局

今回はSalesforceに特化したDevOpsツールであるFlosumについて、簡単にご紹介します。
Branchの内容確認
ここで今回のBranch の内容を簡単にご説明いたします。
1つ目のBranchの内容
・公開グループ : TstGrp1
・権限セット1 : TstPermission1
・権限セットグループ : TstPermissionGrp1
・権限セット1 : TstPermission1
・権限セットグループ : TstPermissionGrp1
2つ目のBranchの内容
・公開グループ : TstGrp1
・権限セット1 : TstPermission1
・権限セット2 : TstPermission2
・権限セットグループ : TstPermissionGrp1
・権限セット1 : TstPermission1
・権限セット2 : TstPermission2
・権限セットグループ : TstPermissionGrp1
Branch の差分
資材の差分は以下の図の通りとなります。
・権限セットの権限付与内容
・権限セットグループに含まれる権限セットの内容
(公開グループは一致)
・権限セットの権限付与内容
・権限セットグループに含まれる権限セットの内容
(公開グループは一致)
今回はBranch1 と Branch2 をマージした、新規 Branch を作成します。
権限セットの権限内容は、基本的にはどちらかに権限付与されているものはマージ後のBranch でも権限付与を残したものにします。
例外として、取引先オブジェクトのオブジェクト権限のうち、削除は付与しないよう設定します。
(権限付与しない方へ寄せます)
権限セットの権限内容は、基本的にはどちらかに権限付与されているものはマージ後のBranch でも権限付与を残したものにします。
例外として、取引先オブジェクトのオブジェクト権限のうち、削除は付与しないよう設定します。
(権限付与しない方へ寄せます)
Branch のマージ(Smart Merge)
ここからは、今回の本題であるBranch のマージについて具体的な操作に入っていきます。
マージ先のBranch作成
まずは1つ目のBranch の詳細画面を開き、画面上部の「Smart Merge」をクリックします。
Merge Branches 画面が表示されるので、Merge先として新規Branchを指定します。
名前は「FlsmTest_Merge」にして、画面右上の「Merge To Branch」をクリックします。
この操作で「FlsmTest_Merge」というBranchが作成されます。
名前は「FlsmTest_Merge」にして、画面右上の「Merge To Branch」をクリックします。
この操作で「FlsmTest_Merge」というBranchが作成されます。
2つ目のBranch をマージ
2つ目のBranchの詳細画面を開き、画面上部の「Smart Merge」をクリックします。
Merge Branches 画面が表示されるので、Merge先として既存Branchを選択し、先ほど作成した「FlsmTest_Merge」を指定します。
差異があるメタデータが一覧で表示されますので、Status列 の表示をクリックしてマージ処理を実施していきます。
Merge Branches 画面が表示されるので、Merge先として既存Branchを選択し、先ほど作成した「FlsmTest_Merge」を指定します。
差異があるメタデータが一覧で表示されますので、Status列 の表示をクリックしてマージ処理を実施していきます。
2つのBranch で内容一致しているコンポーネントについては最下段のリストに表示されます。
今回は公開グループ:TstGrp1 が2つのBranch にて内容一致するため、
マージ対象外として表示されています。
今回は公開グループ:TstGrp1 が2つのBranch にて内容一致するため、
マージ対象外として表示されています。
権限セット1のマージ
差分比較
Merge Branches 画面でStatus列 の「Conflict, Changed by same User」をクリックすると、2つのBranch のメタデータ詳細が表示され、差分は色分けして表示されます。
緑 : Source に選択したBranch2(左側)だけに存在する行
赤 : Target に選択したマージ先のBranch (右側)だけに存在する行
黄 : 2つのBranch で同一行内に差分がある箇所
緑 : Source に選択したBranch2(左側)だけに存在する行
赤 : Target に選択したマージ先のBranch (右側)だけに存在する行
黄 : 2つのBranch で同一行内に差分がある箇所
差分マージ
差分箇所を確認したら、以下の通りマージを実施します。
1つ目はアプリケーションの差分です。
今回は両方とも権限付与したいため、「Standard__Sales<セールス>」の記載部分を左側へ反映します。
1つ目はアプリケーションの差分です。
今回は両方とも権限付与したいため、「Standard__Sales<セールス>」の記載部分を左側へ反映します。
2つ目は取引先オブジェクトの項目権限の差分です。
「Fax」は左側のみ、「Phone<電話>」は右側のみに存在しますが、今回は両方とも権限付与したいため、「Phone<電話>」の記載部分を左側へ反映します。
「Fax」は左側のみ、「Phone<電話>」は右側のみに存在しますが、今回は両方とも権限付与したいため、「Phone<電話>」の記載部分を左側へ反映します。
3つ目は取引先オブジェクトのオブジェクト権限の差分です。
ここでは3つの権限に差分が確認できます。
allowCreate:作成
allowDelete:削除
allowEdit:編集
今回は作成、編集を許可(true)とし、削除は禁止(false)としたいため、allowEdit の権限のみ左側へ反映します。
ここでは3つの権限に差分が確認できます。
allowCreate:作成
allowDelete:削除
allowEdit:編集
今回は作成、編集を許可(true)とし、削除は禁止(false)としたいため、allowEdit の権限のみ左側へ反映します。
4つ目はシステム権限の差分です。
今回はシステム権限を付与したいため、左側に残したままとします。
・ViewRoles : ロールおよびロール階層を表示
・ViewSetup : 設定・定義を参照する
今回はシステム権限を付与したいため、左側に残したままとします。
・ViewRoles : ロールおよびロール階層を表示
・ViewSetup : 設定・定義を参照する
権限セット1のマージ結果
権限セット1のマージ結果は以下の通りになります。
確認後、画面下部に表示されている「Save」をクリックすると、差分反映の結果が保存されます。
操作を誤ってしまった等で操作前の状態からやり直したい場合は、「Cancel」をクリックすると前の画面(Merge Branches 画面)へ戻ることができます。
確認後、画面下部に表示されている「Save」をクリックすると、差分反映の結果が保存されます。
操作を誤ってしまった等で操作前の状態からやり直したい場合は、「Cancel」をクリックすると前の画面(Merge Branches 画面)へ戻ることができます。
権限セット2のマージ
権限セット2 のStatus列 は「New」となっているので、差分はありません。
開いて「Save」をクリックすれば、Merge先のBranch「FlsmTest_Merge」への追加対象となります。
開いて「Save」をクリックすれば、Merge先のBranch「FlsmTest_Merge」への追加対象となります。
権限セットグループのマージ
権限セットグループの差分ですが、左側にのみ存在する権限セット2があることが確認できます。
今回はこちらを含めたままにしたいので、何も変更せずに「Save」をクリックします。
今回はこちらを含めたままにしたいので、何も変更せずに「Save」をクリックします。
Branch マージの確定
差分が出ていた資材のStatus列 がすべて「Resolved」になっていることを確認して、「Merge To Branch」をクリックすればBranch のマージが確定されます。
マージ先のBranch「FlsmTest_Merge」の詳細画面にてBranchがマージされていることが確認できます。
マージ先のBranch「FlsmTest_Merge」の詳細画面にてBranchがマージされていることが確認できます。
おわりに
いかがでしたでしょうか。
今回はFlosum におけるBranch マージ機能の使い方をご紹介しましたが、複数人で開発をおこなう際にはとても便利な機能だと感じます。
最後までお読みいただきありがとうございました。
今回はFlosum におけるBranch マージ機能の使い方をご紹介しましたが、複数人で開発をおこなう際にはとても便利な機能だと感じます。
最後までお読みいただきありがとうございました。
62 件