LoginSignup
0
0

More than 3 years have passed since last update.

Azure WebAppsへのwarデプロイ(maven)

Posted at

目的

GitActionsがプレビュー版となったため、mavenビルドをgitに行ってもらい、WebAppsにデプロイする

1:アプリ準備

まずは、Maven + TomcatのJavaアプリケーションを作成する

mavenは以下のように記述した

  <properties>
    <java.version>1.8</java.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <RESOURCEGROUP_NAME>DeployTest</RESOURCEGROUP_NAME>
    <WEBAPP_NAME>MavenJsptest</WEBAPP_NAME>
  </properties>
  <dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>ROOT</finalName> <!-- Azure default root pass -->
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <packagingExcludes>WEB-INF/lib/javax.servlet-api-3.0.1.jar</packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>

特に詰まったのが、finalNameの部分で、これはmvn install で生成されるwarファイル名の名称。
WebAppsがROOT以下をデフォルトで参照しにいくため、これ以外の指定だとエラーが発生していた。

※もし、別の名前でもエラーを起こさない方法があれば教えていただきたいです!

アプリを作り終えたら、GitHubにプッシュ

2:WebApps設定

App Service Plan および WebAppsを作成(Javaの環境はアプリに合わせる)して、「デプロイセンター」を選択し、GitActionや作成したアプリのリポジトリを選択。

最後にyamlが出力されるが、この中を見てみると、Javaのバージョンの選択およびmvn clean installしていることがわかる

3:確認

ここまでやれば、GitHubのアクションが動作していることが確認できる。
問題がなければ、デプロイされ、正常にアクセスすることができる

感想

JenkinsやAzure Pipelineも素晴らしいツールだが、設定や構築が少し面倒なのが気になっていたため、今回のGitActionsがGitHubとAzureさえ登録すれば構築不要で使えたので、とても楽だった。

今回はyamlも特に編集しなかったがカスタマイズすることで(単体テストの実行など)より効果的な開発ができると思う。

0
0
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
0
0