Lors de l'exécution d'applications Web Spring Boot sur PaaS, j'ai principalement utilisé Heroku et Cloud Foundry (PWA, etc.) car ils sont "faciles". Cependant, lorsque j'ai fait des recherches sur Microsoft Azure l'autre jour, j'ai trouvé un document officiel indiquant qu'il peut être facilement déployé sur App Service, alors je l'ai essayé.
https://docs.microsoft.com/ja-jp/java/azure/spring-framework/deploy-spring-boot-java-app-with-maven-plugin
Quand je l'ai essayé, c'était vraiment "facile"!
Je l'ai déployé avec une procédure plus simple que le document ci-dessus, je vais donc le résumer. Les principales différences dans la procédure sont les suivantes.
Cliquez-ici pour le code. https://github.com/kikutaro/AzureSpringBoot
Créez-le à l'aide de "** Spring Initializr Java Support **" dans l'extension Visual Studio Code.
** Sélectionnez "Affichage" ** -> ** "Palette de commandes" **
La documentation MS est basée sur Maven, alors sélectionnez ** "Spring Initializr: Generate a Maven Project" **
Sélectionnez Java
Entrez le GroupId. J'ai choisi "tech.kikutaro".
Entrez le ArtifactId. J'ai choisi "azur spring boot".
Sélectionnez 2.0.5 pour Spring Boot
Sélectionnez deux dépendances, Web et DevTools
c'est tout. Après l'enregistrement, la boîte de dialogue suivante s'affiche. Ouvrez-le avec "Open it".
Avant de déployer sur Azure, écrivez un code simple et vérifiez l'opération en cours. Ici, le code est juste pour retourner "Hello, Azure!" Dans REST GET.
DemoApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello() {
return "Hello, Azure!";
}
}
Confirmez le démarrage.
.\mvnw.cmd clean package
.\mvnw.cmd spring-boot:run
C'est OK si vous pouvez accéder à l'environnement local et vérifier le fonctionnement.
Document MS emballage de guerres Nous avons mis au point des moyens de le faire fonctionner avec d'autres servlets tels que jetty, tels que le passage à, l'ajout d'une dépendance tomcat, l'héritage de SpringBootServletInitializer, mais cette fois, nous avons continué sans changer cette zone. ..
En fait, les paramètres suivants ne sont pas obligatoires, mais je les ai ajoutés cette fois pour éviter que l'URL de l'application déployée n'entre en collision.
pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<!-- add from -->
<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
<!-- add to -->
</properties>
Ajoutez les paramètres pour azure-webapp-maven-plugin. La documentation dit "<! - Vérifiez la dernière version sur Maven Central->".
De plus, lorsque j'ai essayé d'utiliser 1.1.0 comme premier document et de définir le deploymentType sur jar, une erreur s'est produite. Il semble que deploymentType ne prend pas en charge jar.
Avec la dernière version 1.4.0, j'ai pu spécifier le fichier jar sans aucun problème.
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- add from -->
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<resourceGroup>maven-projects</resourceGroup>
<appName>${project.artifactId}-${maven.build.timestamp}</appName>
<region>westus</region>
<javaVersion>1.8</javaVersion>
<deploymentType>jar</deploymentType>
</configuration>
</plugin>
<!-- add to -->
</plugins>
</build>
J'ai installé Azure CLI avant le déploiement.
Lorsque vous vous connectez avec Azure CLI, le navigateur démarre automatiquement et l'écran de connexion s'affiche. Entrez votre nom d'utilisateur et mot de passe pour vous connecter.
python
az login
Tout ce que vous avez à faire est de déployer.
.\mvnw.cmd clean package
.\mvnw.cmd azure-webapp:deploy
Attendez la fin du déploiement.
En cas de succès, ouvrez Azure App Service pour voir l'application déployée.
Après avoir sélectionné l'application, cliquez sur le lien URL affiché en haut à droite pour ouvrir la page créée.
déplacé!
Cela semble long car j'ai écrit la procédure en détail, mais c'était aussi simple que de déployer sur Heroku, etc.
Recommended Posts