Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure App ServiceとGitHubを連携してみた

Azure App ServiceとGitHubを連携してみた

20250227_LT大会資料

佐藤泰志

March 06, 2025
Tweet

Other Decks in How-to & DIY

Transcript

  1. 自己紹介 ▪ 名前 佐藤泰志(さとうやすし) ▪ 出身地 山形県 ▪ 職歴 運用保守(約7年)、システム開発(約2年)、

    要件定義、設計(約4年) 2022年 セゾンテクノロジー中途入社 DX推進PJ参画 2023年 システム開発、 DX推進PJ支援、Azure運用業参画 2024年 航空システムテスト、システム開発、AWS運用業務参画
  2. Azure App Service とは? •Microsoftが提供する「クラウドで簡単にWebアプリを作成、ホスト、管理で きるPaaSサービス」です。 •特徴として以下があります。 ・簡単なデプロイ: Webアプリを数クリックで公開できる。 ・自動スケーリング:

    使用状況に応じてサーバーを自動で増減する。 ・多言語対応: PHP、Python、Node.js、Javaなど、 複数の言語に対応。 ・セキュリティ機能: Azureのセキュリティを利用して、安全にアプリを運用。 •イメージ アプリをすぐに展開できるプラットフォームのようなもので、 面倒なダウンロードや管理なしでサポートしてくれるイメージです。
  3. GitHub とは? • GitHubは「コードを管理し、誰でも協力して開発できるためのオンラインプ ラットフォーム」です。 •特徴として以下があります。 ・バージョン管理: コードの変更履歴を自動で記録。 ・共同作業: 複数の開発者が同時に作業し、コードをまとめられる。

    ・オープンソース: 誰でも参加できるプロジェクトが多数。 ・プルリクエスト: 特定の変更を提案し、他の開発者との 協力を可能にする機能。 •イメージ 「協力してコードを作る工房」のようなもので、世界中の開発者が アイディアを共有し、一緒に進化していくことが出来るイメージです。
  4. 連携用ファイル の準備 以下を実施しています。 •プロジェクトフォルダの作成( my-java-appの作成 ) •index.jsp / web.xmlの作成( Hello,

    Azure App Service! を表示) •mvnコマンドでプロジェクトの作成 •mvnコマンドアプリケーションのビルド( my-java-app.warの作成) •コマンドプロンプトでGitHubへのコミットとプッシュ
  5. index.jsp の中身 •今回作成したindex.jspの中身です。 •タイトル、ブラウザに文字列が表示されるだけの単純なWeb アプリケーションになりますが、気合入れて作りました。 <%@ page contentType="text/html; charset=UTF-8" language="java"

    %> <!DOCTYPE html> <html> <head> <title>My Java Web App</title> </head> <body> <h1>Hello, Azure App Service!</h1> <p>Hello World Azure App Service</p> </body> </html> ここがブラウザで 表示されます
  6. web.xml の内容 • web.xmlの中身です。 •ソースコードをどのように動作させるかをマッピングするファイルです。 今回で言うと、リクエスト処理時に、index.jspが処理されるように記載しています。 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"

    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>jsp</servlet-name> <jsp-file>/index.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>/index.jsp</url-pattern> </servlet-mapping> </web-app> ここでjspを定義しています ここでindex.jspが処理 されるようにマッピングしてい ます
  7. プロジェクト の作成 • Javaを簡単にビルドして動作させるために、以下のMavenコマンドを実行 しました。 mvn archetype:generate -DgroupId=com.example.app - DartifactId=my-java-app

    -DarchetypeArtifactId=maven- archetype-webapp -DinteractiveMode=false • Mavenは、Javaプロジェクトを構築(ビルド)、フォルダ構成管理、ツール やライブラリの依存関係の自動管理を行うためのツールです。 •上記コマンドの実行により、指定したグループ名(com.example.app) とプロジェクト名(my-java-app)を持つWebアプリのフォルダ構成を自動 的に作成しました。 フォルダ階層とxmlなどを 作成するだけなので すんなり通りました
  8. GitHubへの プッシュ •コマンドプロンプトにて、以下のコマンドを順番に実行し、 作成した資材をGitHubへプッシュしました。 git status git init git add

    . git commit -m "Add initial Java application files" git remote add origin https://github.com/Yasushi- Satou/my-java-ap git push -u origin master git status git log P.8の状態になりました Gitコマンドが分かるまで 2時間ほどかかりました