(後編)リポジトリサービス「Azure Repos」入門ーMicrosoft Azure DevOps 入門ー

"(後編)リポジトリサービス「Azure Repos」入門ーMicrosoft Azure DevOps 入門ー"

(2020年4月20日掲載)

こんにちは。ソフトバンクの島崎と申します。
Azure DevOps のリポジトリサービス「Azure Repos」の紹介をしています。本ブログは後編になります。前編では、Azure DevOpsの全体像と、Azure Reposの準備段階として、Azure DevOpsのデプロイ作業をご紹介しました。
なお、詳細に関しては、「ソースコードバージョン管理「Azure Repos」について(前編)」をご確認ください!

後編では、実際にデプロイした環境を使って、簡単にソースコードに変更し、変更内容がアプリケーションまでデプロイされていることを確認します。それでは、見ていきましょう!

目次

4. リソースの確認

4.1 デプロイされたアプリケーションの確認

作成したアプリケーションの確認を行います。(前編の続きからになります)

① 「リソースに移動」を押下します。

""

② 「Azure resources」にあるサービス名(以下で言う「function-softbank」)を押下します。

""

③左タブ「Function1」を選択します。サーバレス上にあるpythonで記載されたプログラムが表示されます。

""

④「 関数の URL の取得」を選択し、関数のURLが表示されるので、コピーします。 例)https://devops-【project名】-python.azurewebsites.net/api/Function1?code=xxxxxxxxxxx

""

⑤取得したURLをブラウザにて入力します。
「Hello! Welcome to Azure Functions!」と表示されることを確認します。HTTPリクエストにより、Azure Functions(サーバレス)が起動したことが確認できます。
以上で、デプロイされたアプリケーションの状態を確認することができました!

4.2 Azure DevOpsの確認

以下の手順で、手順3.2でデプロイした「Azure DevOps」上で、ソースコードを確認します。

①作成したAzure DevOpsに戻ります。手順3.3でprojectを作成したので、左上の「Azure DevOps」を押し、ブラウザを更新します。
※ブラウザを閉じてしまった方は、以下でもAzure devOpsへアクセスすることができます。
・Azure DevOps URL:https://dev.azure.com/【設定した組織名】

""

②作成したprojectが表示されるので、選択します。projectのトップ画面に遷移します。

""

③左タブに、Azure DevOpsの各サービスメニューが並んでいます。今回は、「Azure Repos」の機能を確認するために、「Repos」を押します。

""

④各フォルダを選択していくことで、ファイルの中身を確認することができます。

""

画面上で、以下のようにファイルの中身を確認することができます。

""

※なお、パワーポイントなどのバイナリファイルや画像ファイルに関しても、リポジトリへの格納は可能です。ただ、差分の管理することができません。そのため、ダウンロードをしてローカル端末上にて、表示、編集します。

""

以上で、Azure DevOpsに格納されているソースコードを確認することができました!
※左タブから、ほかにもかんばん機能である「Boards」や、CI/CD機能である「Pipelines」を確認することができます。

5. ソースコードの編集

ソースコードの編集を行います。今回は「Azure DevOps」の画面上でコードの修正を行います。サーバレスにて実行される、上記で確認した標準出力「Hello! Welcome to Azure Functions!」を「Hello everyone! Welcome to Azure Functions!」に変更します。
※通常はお使いの統合開発環境にて、修正を加えます。

5.1 「init.py」の変更

① Reposより、「Application」>「Function1」>「init.py」の順に選択します。

""

②右上の「Edit」を押下します
③19行目を以下の通り変更し、アプリにて出力される文言を変更します。変更後、「Commit」を押下します。
・変更前


return func.HttpResponse(f"Hello! Welcome to Azure Functions!")

・変更後


return func.HttpResponse(f"Hello everyone! Welcome to Azure Functions!")

""

④以下の通り入力し、「Commit」を押下します。
・Comment(変更内容が分かるようなコメントを記載)
「Hello! everyone!」に変更
・Branch name(新たにブランチを作成し、そこに今回の変更を反映します)
change_to_helloeveryone
・Create Pull request:(自動で「プルリクエスト」を作成します)
チェックを入れる

""

⑤プルリクエストを発行します。今回はデフォルトのまま、右下の「Create」を押します。※プルリクエストとは、Azure DevOps上での、ソースコードのレビュー依頼になります。

""

なお、画面下部にて、今回の変更範囲を視覚的に確認することができます。

""

これで、変更が「change_to_helloeveryone」ブランチに反映され、変更をマスターブランチ(原本)に反映するためのプルリクエスト(レビュー依頼)が作成されました!
(後ほどこれを承認し、変更を反映します)

5.2 テストコードの変更

同様の流れで、テストコードも修正します。(テストコードを修正しないと、マージ後自動で行われるテストに失敗します。)

①Reposより「Tests」>「test_unit.py」の順に選択します。またあわせて、先ほど作成したブランチに切り替えます。

""

②29行目を以下の通り変更し、右上の「Commit」を選択します。
・変更前


assert response.get_body()==b"Hello! Welcome to Azure Functions!"

・変更後


assert response.get_body()==b"Hello everyone! Welcome to Azure Functions!"

""

③以下の通り入力し、「Commit」を押下します。
・Comment(変更内容が分かるようなコメントを記載)
テストコードの修正
・Branch name(作成したブランチに、この変更を反映します)
change_to_helloeveryone

""

これで、「change_to_helloeveryone」ブランチ上で、テストコードが変更されました!

5.3 プルリクエストの反映

 現時点では、変更がマスターブランチ(原本)に反映されていません。この章で、「change_to_helloeveryone」ブランチ上の変更をマスターブランチに反映させるため、プルリクエストをマージしていきます。

①左タブより、「Pull requests」を押します。

""

②作成されたプルリクエストを確認するため、押下します。

""

③プルリクエストを反映するために、「Complete」を押します。
※本来はこの画面上で、チームレビューを行います。また、コード変更の一覧を確認することができます。

""

④「Complete pull request」内の項目はデフォルトのまま、「Complete merge」を押します。

""

以上で、今回の変更が「change_to_helloeveryone」ブランチから、マスターブランチ(原本)に反映されました!下図の通り、プルリクエストのステータスが「COMPLETED」に変わっていることが確認できます。
また、マージすると自動でテストが実行され、成功すると自動でAzureリソースにデプロイが実行されます。

""

6. 変更後のアプリケーションの確認

これまでの手順で、「Azure DevOps」をデプロイし、同時にサーバレスにアプリケーションが構築され、Azure Repos上でソースコードの変更を行いました。最後に、変更されたアプリケーションの確認を行います。

①手順3.4.1で取得したURLにブラウザにてアクセスし、レスポンスを確認します。 変更した通り

Hello everyone! Welcome to Azure Functions!

と出力されることを確認できるかと思います。

Azure Repos上で行ったコード変更が、正常にアプリケーションに反映されていることを確認できました!

②Azure Reposでは、これまでのソースコードバージョンを管理しています。左タブの「Commits」より、これまでの変更の履歴を確認できます。今回の変更が記録されていることが確認できます。

""

7. まとめ

今回、Azure DevOpsのリポジトリ機能である、「Azure Repos」を解説しました。この機能を用いることで、大人数でのコード開発やレビュー、ソースコードのバージョン管理を効率的に行うことができます。ぜひ、これからDevOpsを始めたいとご検討されている方の一助になれば幸いです。

前編、後編に渡り、最後までお読みいただいて、ありがとうございました!

f:id:SB_nozomi_suga:20200409184252p:plain

関連サービス

Microsoft Azure

Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。→詳細はこちら

あわせて読みたい記事

(前編)リポジトリサービス「Azure Repos」入門~Microsoft Azure DevOps 入門~

Azure IoT Hub と Windows 10 IoT Core とRaspberry Pi 3 Model B+ とでテレメトリーの収集をしてみた

Microsoft Azure IaaS超入門その1 〜最速30分!Azure登録から仮想マシン構築〜