お問い合わせ
4 分で読むことができます

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

執筆者 bird 更新日時 2023年7月28日

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

目次

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

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

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

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

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

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

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

始め方

Bitbucket Pipelinesとは

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

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

とりあえずさわってみる

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

initial

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

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

setting2

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

configure1

Pipelinesに遷移します。

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

Selectボタンを押下します。

configure2

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

firstcommit

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

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

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

firstcommit2-1

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

firstcommit3

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

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

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

secoundcommit1

結果を確認します。

secoundcommit3

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

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

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

・参考URL

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

 

Snowflakeを体験してみませんか?

INSIGHT LABではSnowflake紹介セミナーを定期開催しています。Snowflakeの製品紹介だけでなく、デモンストレーションを通してSnowflakeのシンプルなUI操作や処理パフォーマンスの高さを体感いただけます。

詳細はこちら

bird

執筆者 bird

4 分で読むことができます。
Snowflakeの料金体系|クレジットと費用最適化のポイントをご紹介
5 分で読むことができます。
【禁断の比較?】SnowflakeとTreasure Dataを比べてみました
1 分で読むことができます。
誤ってupdateしてしまったレコードをtime travelで復元する
5 分で読むことができます。
【Snowflake】新機能「Streamlit in Snowflake」とは何者か!?
3 分で読むことができます。
AWS Lambdaを使ってSnowflakeとSFTPサーバーを連携してみた