[JAVA] Spring Boot unter Microsoft Azure

Beim Ausführen von Spring Boot-Webanwendungen auf PaaS habe ich hauptsächlich Heroku und Cloud Foundry (PWA usw.) verwendet, da diese "einfach" sind. Als ich jedoch neulich nach Microsoft Azure recherchierte, fand ich ein offizielles Dokument, das problemlos für App Service bereitgestellt werden kann. Deshalb habe ich es ausprobiert.

https://docs.microsoft.com/ja-jp/java/azure/spring-framework/deploy-spring-boot-java-app-with-maven-plugin

Als ich es versuchte, war es wirklich "einfach"! 2018-09-14_23h01_12.png

Ich habe es mit einem einfacheren Verfahren als dem obigen Dokument bereitgestellt, daher werde ich es zusammenfassen. Die Hauptunterschiede im Verfahren sind wie folgt.

Klicken Sie hier für den Code. https://github.com/kikutaro/AzureSpringBoot

Entwicklungsumgebung

Verfahren

Spring Boot-Projekterstellung

Erstellen Sie es mit "** Spring Initializr Java Support **" in der Visual Studio Code-Erweiterung.

** Wählen Sie "Ansicht" ** -> ** "Befehlspalette" ** 2018-09-13_20h52_50.png

Die MS-Dokumentation basiert auf Maven. Wählen Sie daher ** "Spring Initializr: Generate a Maven Project" ** 2018-09-12_23h14_23.png

Wählen Sie Java 2018-09-12_23h14_49.png

Geben Sie die GroupId ein. Ich habe "tech.kikutaro" gewählt. 2018-09-14_22h20_39.png

Geben Sie die Artefakt-ID ein. Ich entschied mich für "Azure Spring Boot". 2018-09-14_22h21_32.png

Wählen Sie 2.0.5 für Spring Boot 2018-09-12_23h18_40.png

Wählen Sie zwei Abhängigkeiten aus, Web und DevTools 2018-09-12_23h18_59.png

2018-09-12_23h19_18.png

das ist alles. Nach dem Speichern wird der folgende Dialog angezeigt. Öffnen Sie es mit "Öffnen". 2018-09-12_23h36_28.png

Funktionsprüfung

Schreiben Sie vor der Bereitstellung in Azure einen einfachen Code und überprüfen Sie den vorliegenden Vorgang. Hier soll der Code nur "Hallo, Azure!" In REST GET zurückgeben.

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!";
	}
}

Bestätigen Sie den Start.

.\mvnw.cmd clean package
.\mvnw.cmd spring-boot:run

Es ist in Ordnung, wenn Sie auf die lokale Umgebung zugreifen und den Vorgang überprüfen können.

2018-09-13_00h10_16.png

Bereit zur Bereitstellung in Azure

MS-Dokument führt zu einer Kriegsverpackung Wir haben Möglichkeiten entwickelt, wie es mit anderen Servlets wie Jetty funktioniert, z. B. das Wechseln zu, das Hinzufügen von Tomcat-Abhängigkeiten und das Erben von SpringBootServletInitializer. Diesmal haben wir diesen Bereich jedoch nicht geändert. ..

Eigentlich sind die folgenden Einstellungen nicht erforderlich, aber ich habe sie dieses Mal hinzugefügt, um zu verhindern, dass die URL der bereitgestellten Anwendung kollidiert.

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>

Fügen Sie die Einstellungen für das Azure-Webapp-Maven-Plugin hinzu. In der Dokumentation steht "<! - Überprüfen Sie die neueste Version auf Maven Central->".

Als ich versuchte, 1.1.0 als erstes Dokument zu verwenden und den DeploymentType auf jar zu setzen, trat außerdem ein Fehler auf. Es scheint, dass DeploymentType JAR nicht unterstützt.

2018-09-14_23h16_29.png

Mit der neuesten Version 1.4.0 konnte ich das Glas problemlos angeben.

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>

In Azure bereitstellen

Ich habe Azure CLI vor der Bereitstellung installiert.

Wenn Sie sich mit der Azure-CLI anmelden, wird der Browser automatisch gestartet und der Anmeldebildschirm angezeigt. Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

python


az login

Sie müssen lediglich bereitstellen.

.\mvnw.cmd clean package
.\mvnw.cmd azure-webapp:deploy

Warten Sie, bis die Bereitstellung abgeschlossen ist. 2018-09-14_23h44_07.png

Öffnen Sie bei Erfolg den Azure App-Dienst, um die bereitgestellte Anwendung anzuzeigen.

2018-09-14_23h12_54.png

Klicken Sie nach Auswahl der Anwendung auf den oben rechts angezeigten URL-Link, um die erstellte Seite zu öffnen.

2018-09-14_23h14_45.png

gerührt!

2018-09-14_23h01_12.png

Es sieht lang aus, weil ich das Verfahren ausführlich geschrieben habe, aber es war so einfach wie die Bereitstellung auf Heroku usw.

Recommended Posts

Spring Boot unter Microsoft Azure
Versuchen Sie Spring Boot auf dem Mac
gRPC auf Spring Boot mit grpc-spring-boot-Starter
Versuchen Sie, Spring Boot auf Kubernetes auszuführen
Erstellen einer Spring Boot-Entwicklungsumgebung in Vagrant
Mindestkonfiguration zum Ausführen der Spring Boot-Anwendung in Azure Web Apps
Spring Boot Umgebungskonstruktionsnotiz auf Mac
Fordern Sie Spring Boot heraus
Spring Boot Form
Spring Boot Denken Sie daran
gae + frühlingsstiefel
Stellen Sie die Spring Boot-Anwendung für Elastic Beanstalk bereit
SPRING BOOT Lernaufzeichnung 01
Frühlingsstiefel + Heroku Postgres
Schreiben von Frühlingsstiefel-Memos (1)
Erster Frühlingsstiefel (DI)
SPRING BOOT Lernprotokoll 02
Spring Boot2 Spickzettel
Spring Boot-Ausnahmebehandlung
Melden Sie sich bei Spring Boot-Webanwendungen auf der Microsoft ID-Plattform an
Spring Boot Servlet-Zuordnung
Spring Boot Entwicklung-Entwicklungsumgebung-
Spring Boot-Lernverfahren
Spring Boot lernen [Anfang]
Schreiben von Spring Boot-Memos (2)
Spring Boot 2.2 Dokumentzusammenfassung
[Spring Boot] DataSourceProperties $ DataSourceBeanCreationException
Spring Boot 2.3 Verfügbarkeit von Anwendungen
Spring Boot Tutorials Themen
Mit Spring Boot herunterladen
Stellen Sie das Spring Boot-Projekt in XAMPP für Tomcat bereit
[Spring Boot] Umgebungskonstruktion (macOS)
Legen Sie den Kontextparameter in Spring Boot fest
Versuchen Sie Spring Boot von 0 bis 100.
Generieren Sie mit Spring Boot einen Barcode
Hallo Welt mit Spring Boot
Implementieren Sie GraphQL mit Spring Boot
Aufgabenplan für das Spring Boot Tutorial
Spring 5 & Spring Boot 2 Praktisches Vorbereitungsverfahren
Beginnen Sie mit Spring Boot
Hallo Welt mit Spring Boot!
Spring Boot 2 Multiprojekt mit Gradle
[Spring Boot] Erstellung von Webanwendungen
[Java] Stellen Sie die Spring Boot-Anwendung für den Azure App Service bereit
Führen Sie LIFF mit Spring Boot aus
SNS-Login mit Spring Boot
Spring Boot Hot Swapping-Einstellungen
[Java] Thymeleaf Basic (Spring Boot)
Einführung in Spring Boot ~ ~ DI ~
Datei-Upload mit Spring Boot
Spring Boot beginnt mit dem Kopieren
Einführung in Spring Boot ② ~ AOP ~
CICS-Java-Anwendung ausführen- (4) Spring Boot-App
Spring Boot beginnend mit Docker
Spring Boot + Springfox Springfox-Boot-Starter 3.0.0 Verwendung
[Frühlingssicherheit] Frühlingssicherheit auf GAE (SE)
Tipps zur Spring Boot DB
Hallo Welt mit Spring Boot
Setzen Sie Cookies mit Spring Boot
[Spring Boot] Einfaches Rezept für den Paging-Prozess