Azure PipelinesでBuidからDeployまで(node.js)

Azure Pipelinesを理解するにはとにかく色々とパイプに通すしかない!
ということで、今回はnode.jsを通してみました。

業務にて、Docker imageをCIでプッシュする必要があったのですが、コンテナって何?って状態だったので、今回は実体のあるアプリケーションで、CI/CDを試してみました。

AzureのGUIは本当によくできていて、複雑なことをしようとしなければ、ほぼ直感で操作が出来るとチュートリアルをやりながら実感しました
とはいえ、Azureを触る機会がない人に取っては、認知負荷がかなり大きいかと思うので、この記事を流し読みしてから、MSのチュートリアルをやってみるのもいいかもしれません。
それでは、やっていきます。

プログラムをローカルに持ってくる。

サンプルコードは、上記のリポジトリにあるので、取ってきましょう。

Azure DevOps 無料枠を使ってみた

例にならって、DevOpsにリポジトリをプッシュしておきます。

Azure Gitにリポジトリが作成されたら作業開始です。

Azure Gitのプログラムを Build する

DevOpsでは、指定したブランチにコミットされるたびに、ビルドしてくれるAzure Pipelinesというツールがあるのですが、これを使ってみます。

  • コードのある場所(ここではAzure Git)
  • コードのあるプロジェクト名
  • YAMLのテンプレート(種類が色々ありますが、それっぽいので大丈夫です。あとでいくらでも書き換えられます。)
  • 最後に自動生成されたYAMLファイルをチェックして保存→実行しましょう。

生成されたファイルはこんな感じ。
上の塊から。

  • トリガー。ここではmasterブランチに変更がかかるたびにビルドが実行されるというトリガー
  • ビルドを実行するための、クラウド上に存在するVM
  • ビルド時にやりたい処理
    • コンソールに出力するログを出す
    • 必要なnpmコマンドを実行してnodeの環境を整える

こんな感じ、最初はYAMLファイルの書き方が分からなかったけど、結構適当でも大丈夫そう。大事なのは処理の順番。
変な空白とか入ってるとそれだけでエラーになるからそこだけ気をつけて、あとはトライ&エラーを繰り返すのみ。
ここのビルドはテンプレートのまんまで大体通ります。

Releaseしてみる

こっからがCIへの第一歩。
デプロイを自動化していきます。


ここから先、GUIで操作するので操作に迷うことはほぼないと思うのですが、もし、作ったはずのリソースグループがドロップダウンに出てこない、サブスクリプションが表示されないとかの問題あれば、Service Connectionに原因があるかもしれません
公式ドキュメント

最初にRelease Pipelineを作成していきます。
Releaseのタブを選択し、Crateしたらまずステージングから設定していきます。

Deploy a node という選択肢があるのでこれを選んでみます。
左のArtifactも適当にBuildを選択し

Create Releaseをしてみます。
おそらくエラーになるかと思います。

これは、本来Buildした時に作られるはずのzipファイルが作られていないことが原因です。
Pipeline Build の Edit画面へと戻り、YAMLにPublishの処理を追加してください。

このエラーについては、調べたら色々出てくるかと思います。

最後にPackage Folderを変更して終わりです。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)