Snowflake Knowledge - INSIGHT LAB

Bitbucket Pipelinesを使用したSnowflakeへの簡単な自動デプロイ(始め方編)

作成者: bird|2023年7月28日

CI/CDっぽいことがしたい

Create TableやCreate TaskなどのコードをGitで管理し、Snowflakeヘは手動でデプロイする。

そんな作業を経験した人はいるでしょうか。

dbtが浸透しつつある今はあまりないかもしれませんが、自分はこのような環境でデータ分析基盤の構築に携わってきました。(当時もdbtは検討したが導入に至らず)

リリース漏れや本番とmasterブランチが一致していないなど、手動によるミスも多く経験しました。

このような経緯から、簡単ではありますがBitbucketからSnowflakeへの自動デプロイをしてみたので紹介していこうと思います。

長くなりそうなので、スタート編と実践編の2部構成でお送りします。

始め方

Bitbucket Pipelinesとは

以下公式ドキュメントから引用。

Bitbucket Pipelines は、Bitbucket Cloud に組み込みの、統合された CI/CD サービスです。リポジトリの構成ファイルに基づいてコードを自動的にビルド、テスト、デプロイできます。基本的に、クラウド内にコンテナが作成されます。

とりあえずさわってみる

実際にBitbucket Pipelinesを始めていきたいと思います。

こちらは記事用に作成したリポジトリです。

Repository settings→Settingsを開くと上の画面になるので、Enable Pipelinesをonにします。

Configure bitbucket-pipelines.ymlが押下できるようになるので押下します。

Pipelinesに遷移します。

多くのテンプレートが用意されていますが、今回はStarter pipelineを使用します。

Selectボタンを押下します。

テンプレートファイルの中身が表示されるので、Commit fileを押下します。

commitするとpipelineが実行されます。

こちらのテンプレートファイルではデフォルトでcommitが走ったときに毎回実行される設定になっています。(もちろんタイミングの制御は可能です。)

画面右側には実行ログが表示されます。

コミット画面にもBuilds欄で先ほどの実行ステータスを確認できます。

リポジトリ内にbitbucket-pipelines.ymlが追加されています。

これでスタートできる状態になりました!

今度は自分でmasterにpushし、挙動を確認してみましょう。(clone等は端折ります)

結果を確認します。

しっかり実行完了していますね。

以上、簡単にですがBitbucket Pipelinesの始め方でした。

次回は実践編として、実際にSnowflakeへの自動デプロイをしていきます!

・参考URL

Bitbucket Pipelines の使用を開始する - Atlassian Support(https://support.atlassian.com/ja/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines/