目次
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/)