Azure DevOpsって便利ですね。
- 作業を一覧化し(Azure Boards)
- ソースをコミット(Azure Repos)
- 終わったらリリースする(Azure Pipelines)
という、CI/CDの一連の流れが、DevOpsプロジェクト作成後には用意されている。 備忘録も兼ねて、Azure DevOps その1 初期準備で作ったプロジェクトで、実際に「ユーザー情報を編集する機能追加」のコミット→リリースまでやってみた。
Work Item(作業項目)を登録
作業を一覧化するために、Azure BoardsのWork ItemsにWork Itemを登録する。登録した後に担当割り振りが出来る。Redmineとかでも出来るタスク管理かな。
ブランチ作成
登録した作業に合わせてブランチも作成する。Repos→Branchesを選択する。 「New Branch」ボタンをクリックするとブランチ作成画面が出てくるので、
- ブランチ名
- ベースブランチ名
- 関連するWork Item
を入力して、ブランチを作成する。
Work Itemを登録しておくと、Work Item側でも対象のブランチリンクされて便利。
実装、コミット
今回のWork Itemは「ユーザー情報編集」なので、ローカルのリポジトリーを作成したブランチに切り替えて、まず、ユーザ情報に移動するリンクを用意し、
ユーザー情報を表示、編集する画面を用意した。修正後はコミット、プッシュまで済ませる。
プルリクエスト
プッシュ後はRepos→Pull requestsで「New pull request」ボタンをクリックして、プルリクエストを作成した。
プルリクエスト作成後にメールボタンをクリックして、レビュワーにメールで連絡することも可能。
送信されたメールはこんな感じ。メールのリンク「View pull request」で依頼したプルリクエストのサイトに飛んでくれる。
レビュー結果に問題が無ければ、レビュワーには「Approve」ボタンをクリックして承認してもらう。承認後もメールで通知してくれる。
承認されるとプルリクエストに「Approved by XXX」が追加される。
レビューも終わって問題が無ければ「Complete」ボタンをクリックする。クリックすると「Complete pull request」画面が出てくるので、「Complete merge」ボタンをクリックして、マージを開始する。
ビルド+リリース
DevOpsを初期設定から変更していなければ、リポジトリーのmasterブランチに変更がかかるとビルド+リリースが実行される。 今までfeature/xxxブランチを編集してdevelopブランチに反映していたので、ビルド+リリースを実行するためmasterブランチにdevelopブランチの結果をプルリクエスト(単純なマージが出来るボタンが見つからなかったので、プルリクエストからのマージ。使い方が間違っているかもしれない)。
マージ後、Pilelines→Buildを確認してみると、ビルドが実行中になっていることが確認できる。
ビルド完了後のメール通知が「SUCCESSED」になっていれば問題なくリリースまで完了しているので、後はApp Serviceのサイトにアクセスして、追加した機能を確認する。
備考
- 自分の簡単なプロジェクトで流れを実践してみたけど、Test Plansも作業に組み込むべきだろう。
- 初期状態であれば、masterブランチに何をマージしてもビルドが走る状態になっているけど、ビルドのトリガーとなるブランチ、パスはPilelines→Buildの「Edit」ボタンから変更可能。
- 現時点でAzure DevOpsは英語表記なので、日本語対応が待ち遠しいなぁ。