LoginSignup
2
2

More than 1 year has passed since last update.

GitHub × Azure Pipelines で Dockerized Java アプリを Azure にデプロイしてみる

Last updated at Posted at 2021-05-26

最近 Java に力を入れがちなマイクロソフトですが、Dockerized Java アプリを Azure にデプロイするのがどれくらい簡単なのか試してみたいと思います。

ソースコード

今回使用する Java アプリケーションですが、Tomcat のアプリを使用します。以下 GitHub にコードを配置しているのでご活用ください。
https://github.com/komiyasa/TomcatCICDsample

Azure Pipelines で CI 作成

まずは Azure Pipelines で CI を作成してみましょう。Azure DevOps の Pipelines にアクセスして New Pipeline から新しい Pipeline を作成します。
image.png
YAML ベースで作成するのが最近の主流ですが、せっかく Azure Pipelines を使用するので Classic Editor で GUI ベースで作成してみたいと思います。今回追加するジョブは以下の5つです。参考までに設定したパラメータも記載します。

■注意事項
この際、デフォルトの設定として Host Agent が VS2019 になっている場合がありますが今回は Dockerized Java のビルドなので Ubuntsu 16 に設定されているかご確認ください!
image.png

Releases Pipeline を作成する

まずは Continuous deployment triggerEnable に設定します。
image.png
次に Tasks を二つ設定します。※あらかじめ Azure Database for MySQL と Azure WebApp をデプロイしてから実施します。
- Azure Database for MySQL deployment https://docs.microsoft.com/ja-jp/azure/devops/pipelines/tasks/deploy/azure-mysql-deployment?view=azure-devops
image.png
- Azure App Service deploy https://docs.microsoft.com/ja-jp/azure/app-service/deploy-continuous-deployment?tabs=github
image.png

コードを変更して CI/CD ができるか試してみる

GitHub の Master ブランチから Clone した Java アプリのタイトルを Visual Studio Code で少し変更して GitHub に Push してみます。
image.png
変更した内容がまず GitHub に反映されます。
image.png
Azure Pipelines を確認すると、自動的にビルドタスクが始まっています。
image.png
image.png
Azure Container Registry にも変更が反映されているのが Azure Portal で確認できます。
image.png
ビルドダスクが終了し、無事に Artifact が作成されると Release Pipelines が自動的に動きます。これで自動的に App Serviecs / Azure Database for MySQL に対して作成した Dockerized Java アプリがデプロイされたわけです。非常に簡単ですね!
image.png
実際にアプリケーションにアクセスすると変更が反映されているのがわかります。
image.png

今回やったことを絵にまとめてみる

今回は GitHub × Azure Pipelines を使用して、Dockerized Java アプリを Azure にデプロイしました。Azure Container Registry や App Services などいろいろ使用したので絵にまとめてみます。
image.png
非常に簡単に Dockerized Java アプリの CI/CD を作成することができました。今回は Azure Container Registry で docker イメージを管理しましたが、そこを Docker Hub にしたりもできるかと思います。Classic Editor を使用すると GUI ベースで Java のパイプラインも作成できるので改めて便利だと思いました!
今後マイクロソフトは Java にも力を入れていくということですので、Azure DevOps / GitHub を軸に Java の開発環境のアップデートという観点でも情報をキャッチアップしていこうと思います。

参考情報

Azure DevOps Lab : Deploying a Dockerized Java app to Azure Web App for Containers
https://azuredevopslabs.com/labs/vstsextend/dockerjava/

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2