OmniとGitHubを連携し、Branch Modeでの開発をやってみた

OmniとGitHubを連携し、Branch Modeでの開発をやってみた

Clock Icon2024.08.26

さがらです。

OmniとGitHubを連携し、Branch Modeでの開発をやってみたので本記事でその内容をまとめてみます。

※Omni自体については、下記のブログが参考になると思います。

https://dev.classmethod.jp/articles/try-omni/

試す内容

OmniはGitHubと連携出来る機能があります。

https://docs.omni.co/docs/modeling/model-management#git-integration

これを設定した上で、以前ブログで書いたBranch Modeでの開発と同じことを行ってみます。

https://dev.classmethod.jp/articles/omni-branch-mode-no-git-ver/

事前準備

GitHub上で、空のリポジトリを一つ作っておきます。後の設定でSSH URLを使用するため、コピーもしておきます。

2024-08-26_11h20_16

OmniとGitHubの連携

GitHubのリポジトリと連携したいModelのIDEに移動し、ModelからGit Settingsを押します。

2024-08-26_11h01_54

SSH URLを入力し、Configure Gitを押します。

2024-08-26_11h21_30

下図のように表示されるため、Deploy KeyとPull Request Webhook、それぞれ設定をしていきます。

2024-08-26_11h23_01

Deploy Keyの設定

Omniの画面上に表示されたPublic keyをコピーし、GitHubのリポジトリのSettingsからDeploy keysを追加して設定します。Allow write accessにチェックを入れるのを忘れないようにご注意ください。

2024-08-26_11h25_01

2024-08-26_11h25_26

Pull Request Webhookの設定

Omniの画面上に表示されたPayload URLSecretをコピーし、GitHubのリポジトリのSettingsからWebhooksを追加して設定します。

細かな設定としては、以下に注意してください。

  • Content type:application/json
  • Which events would you like to trigger this webhook?:Let me select individual eventsを押し、Pull RequestsPushesにチェック

2024-08-26_11h30_20

2024-08-26_11h30_50

2024-08-26_11h31_29

2024-08-26_11h32_33

Pull Requestsの必須化

これはオプションですが、Pull Requestを必須化しておいたほうがより適切なバージョン管理が行えるため、Omniの画面でRequire Pull Requestsにチェックを入れて有効化しておきます。

2024-08-26_11h34_32

動作確認

上述の設定を行ったら、Omniの画面でTest git connectionを押します。

2024-08-26_11h35_00

Omniの画面の右下に下図のように表示されればOKです。

2024-08-26_11h35_51

実際に開発してみた

では、ここからは下記のブログの内容と同じ流れで、Workbook上でブランチを切ってmeasureの定義を変更し、Shredにマージしてみたいと思います。

https://dev.classmethod.jp/articles/omni-branch-mode-no-git-ver/

まず、Workbook上でブランチを切ります。

2024-08-26_11h44_23

この上で、measureの定義を変更します。

2024-08-26_11h45_38

次に、Add to branchをします。

2024-08-26_11h46_20

このあと、右上のCreate Pull Requestを押します。

2024-08-26_11h48_59

すると、GitHubの画面に遷移するため、プルリクエストを作成し、マージします。

2024-08-26_11h49_45

2024-08-26_11h50_09

この状態で、ダッシュボードの表記を確認すると変更後のmeasureの値になっており、Sharedの内容も変更されていました。

2024-08-26_11h51_25

2024-08-26_11h51_45

おまけ:Gitを有効化しているときにSharedに直接Promoteできるのか?

Gitを連携していない場合、ブランチを切らずともSharedのModelに直接Promoteして反映ができてしまいますが、Gitを連携している場合、ブランチを切っていない状態でPromote to sharedをしようとしても押せないようになっています。

そのため、Gitを連携すると、Sharedに反映できるのはプルリクエストを発行してマージしたときだけとなります。基本的には、Git連携を行ったほうがよさそうですね!

2024-08-26_11h55_08

最後に

OmniとGitHubを連携し、Branch Modeでの開発をやってみたので本記事でその内容をまとめてみました。

個人的にはOmniを使う上では必須の設定だと感じました! Omniを使う際はぜひGit連携の設定をしましょう。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.