nakamurakko’s diary

仕事で覚えたこと、勉強したことを自分のメモ代わりに書いていこうかなと。

Azure DevOps ソースのコミットからリリースまで

Azure DevOpsって便利ですね。

  • 作業を一覧化し(Azure Boards)
  • ソースをコミット(Azure Repos)
  • 終わったらリリースする(Azure Pipelines)

という、CI/CDの一連の流れが、DevOpsプロジェクト作成後には用意されている。 備忘録も兼ねて、Azure DevOps その1 初期準備で作ったプロジェクトで、実際に「ユーザー情報を編集する機能追加」のコミット→リリースまでやってみた。

Work Item(作業項目)を登録

作業を一覧化するために、Azure BoardsのWork ItemsにWork Itemを登録する。登録した後に担当割り振りが出来る。Redmineとかでも出来るタスク管理かな。

f:id:nakamurakko:20200128153846p:plain

ブランチ作成

登録した作業に合わせてブランチも作成する。Repos→Branchesを選択する。 「New Branch」ボタンをクリックするとブランチ作成画面が出てくるので、

  • ブランチ名
  • ベースブランチ名
  • 関連するWork Item

を入力して、ブランチを作成する。

f:id:nakamurakko:20200128154103p:plain

Work Itemを登録しておくと、Work Item側でも対象のブランチリンクされて便利。

f:id:nakamurakko:20200128154127p:plain

実装、コミット

今回のWork Itemは「ユーザー情報編集」なので、ローカルのリポジトリーを作成したブランチに切り替えて、まず、ユーザ情報に移動するリンクを用意し、

f:id:nakamurakko:20200128154146p:plain

ユーザー情報を表示、編集する画面を用意した。修正後はコミット、プッシュまで済ませる。

f:id:nakamurakko:20200128154204p:plain

プルリクエス

プッシュ後はRepos→Pull requestsで「New pull request」ボタンをクリックして、プルリクエストを作成した。

f:id:nakamurakko:20200128154218p:plain

プルリクエスト作成後にメールボタンをクリックして、レビュワーにメールで連絡することも可能。

f:id:nakamurakko:20200128154236p:plain

送信されたメールはこんな感じ。メールのリンク「View pull request」で依頼したプルリクエストのサイトに飛んでくれる。

f:id:nakamurakko:20200128154259p:plain

レビュー結果に問題が無ければ、レビュワーには「Approve」ボタンをクリックして承認してもらう。承認後もメールで通知してくれる。

f:id:nakamurakko:20200128154317p:plain

承認されるとプルリクエストに「Approved by XXX」が追加される。

f:id:nakamurakko:20200128154334p:plain

レビューも終わって問題が無ければ「Complete」ボタンをクリックする。クリックすると「Complete pull request」画面が出てくるので、「Complete merge」ボタンをクリックして、マージを開始する。

f:id:nakamurakko:20200128154351p:plain

ビルド+リリース

DevOpsを初期設定から変更していなければ、リポジトリーのmasterブランチに変更がかかるとビルド+リリースが実行される。 今までfeature/xxxブランチを編集してdevelopブランチに反映していたので、ビルド+リリースを実行するためmasterブランチにdevelopブランチの結果をプルリクエスト(単純なマージが出来るボタンが見つからなかったので、プルリクエストからのマージ。使い方が間違っているかもしれない)。

マージ後、Pilelines→Buildを確認してみると、ビルドが実行中になっていることが確認できる。

f:id:nakamurakko:20200128154413p:plain

ビルド完了後のメール通知が「SUCCESSED」になっていれば問題なくリリースまで完了しているので、後はApp Serviceのサイトにアクセスして、追加した機能を確認する。

f:id:nakamurakko:20200128154428p:plain

備考

  • 自分の簡単なプロジェクトで流れを実践してみたけど、Test Plansも作業に組み込むべきだろう。
  • 初期状態であれば、masterブランチに何をマージしてもビルドが走る状態になっているけど、ビルドのトリガーとなるブランチ、パスはPilelines→Buildの「Edit」ボタンから変更可能。
  • 現時点でAzure DevOpsは英語表記なので、日本語対応が待ち遠しいなぁ。