[Code Pipeline x Elastic Beanstalk] Mettre à jour la version d'exécution de Java 8 vers Corretto 11 sur la plate-forme Java SE

Le 3 juin 2020, la branche de la plateforme Corretto 11 (Java 11) a été rendue disponible sur la plateforme Java SE d'Elastic Beanstalk.

Pour cette raison, je souhaite prendre en charge la mise à jour de la version d'exécution dès que possible.

Donc, cette fois, j'ai résumé les étapes pour mettre à niveau l'environnement Java SE d'Elastic Beanstalk de Java 8 (et non Corretto 8) vers Corretto 11.

environnement

Conditions préalables

Cet article est [Code Pipeline x Elastic Beanstalk] Application Java CI / CD vers Elastic Beanstalk avec Code Pipeline Part 3 | Qiita Ce sera une position consécutive de (Ne nettoyez pas les traces de l'étape 6).

L'environnement de plate-forme Java 8 version 2.10.8 est supposé avoir été créé et il y a une partie où le travail avec des contenus similaires est omis. Notez s'il vous plaît.

procédure

1. JDK Amazon Corretto 8 → Mise à niveau vers Amazon Corretto 11

Tout d'abord, dans l'environnement local, mettez à niveau le JDK d'Amazon Corretto 8 vers Amazon Corretto 11 pour vérifier le fonctionnement et éliminer l'erreur.

[1] Préparation préalable

(1) Commençons par nettoyer le projet cible avec Amazon Corretto 8 appliqué. Cliquez sur "Projet" (①)> "Nettoyer" (②) dans la barre de menu. image.png

(2) Vérifiez le projet cible (①) et cliquez sur «Nettoyer» (②). image.png

(3) Une fois le nettoyage terminé, vérifiez les éléments suivants.

-① Aucune erreur ne s'est produite -② L'application démarre et fonctionne normalement

Vérifiez s'il vous plaît.

(1) Vous pouvez vérifier l'erreur dans l'onglet "Problème" (④) qui apparaît lorsque vous cliquez sur "Fenêtre" (1)> "Afficher Vue" (2)> "Problème" (3) dans la barre de menu. image.png

image.png

De plus, l'erreur ci-dessus est un échec d'Eclipse lui-même et n'affecte pas la construction et le comportement de l'application, il n'y a donc pas de problème même si elle apparaît.

(2) La méthode de démarrage de l'application est la suivante. Faites un clic droit sur le projet (1)> «Exécuter» (2)> «Application Spring Boot» (3). image.png

Vérifiez ensuite que l'application fonctionne correctement.

(4) Ensuite, modifiez les paramètres pour éviter que le projet ne soit créé par inadvertance. Cliquez sur "Projet" dans la barre de menu (1) et décochez "Construire automatiquement" (2). image.png

(5) Faisons un autre changement de réglage nécessaire. Cliquez sur "Fenêtre"> "Paramètres" dans la barre de menu, puis décochez "Construire avant (si nécessaire)" dans "Exécuter / Déboguer" (1)> "Démarrer" (2) ((2)) ③), cliquez sur «Appliquer et fermer» (④). image.png

Ceci termine les préparatifs de la mise à niveau de la version JDK.

[2] Installation et application d'Amazon Corretto 11

Ensuite, installez Amazon Corretto 11 et appliquez-le à Eclipse.

(1) Installez Amazon Corretto 11. Télécharger Amazon Corretto 11 | aws Téléchargez et double-cliquez sur le programme d'installation pour le démarrer.

(2) Lorsque l'assistant démarre, vous pouvez continuer avec les paramètres de base par défaut, mais lorsque vous atteignez l'écran «Configuration personnalisée», vérifiez que la version JDK est «Amazon Corretto JDK 11 distribution» (①). Allons-y. La destination d'installation par défaut se trouve directement sous le dossier Amazon Corretto sous Program Files (②). image.png

(3) Une fois l'installation terminée, modifiez le "JRE installé" d'Eclipse. Dans Eclipse, cliquez sur "Fenêtre" (1)> "Paramètres" dans la barre de menu (2). image.png

(4) Lorsque la fenêtre «Paramètres» apparaît, cliquez sur «Java» (1)> «JRE installé» (2)> «Ajouter» (3). image.png

(5) Lorsque l'écran «Add JRE» apparaît, sélectionnez «Standard VM» (①) et cliquez sur «Next» (②). image.png

(6) Lorsque l'écran "Modifier JRE" apparaît, cliquez sur le bouton "Répertoire" (1), sélectionnez le dossier du JDK installé (Amazon Corretto 11) (2) et donnez-lui un nom JRE arbitraire (3). ), Cliquez sur «Terminer» (④). image.png

(7) Vérifiez le JDK ajouté (①) et cliquez sur «Appliquer et fermer» (②). image.png

[3] Exécutez une application créée avec JDK 8 (Amazon Corretto 8) sur JDK 11 (Amazon Corretto 11)

Après avoir appliqué Amazon Corretto 11, vérifions l'opération avant la reconstruction, c'est-à-dire en utilisant celui construit avec JDK 8 (Amazon Corretto 8). Le point de vue de la confirmation est

--Vérifiez s'il y a des bibliothèques qui doivent être mises à niveau

Ce sera.

(1) Démarrez l'application cible sur Eclipse.

(2) Une fois l'application démarrée normalement, vérifiez la version JDK au moment de la compilation avant de vérifier l'opération, juste au cas où. À l'invite de commandes, exécutez la commande de confirmation de version Java pour tout fichier de classe sous le bac du projet cible.

Lors de l'exécution dans le fichier de classe du dossier suivant, c'est comme suit. image.png

Commande d'exécution et résultat


> cd C:\pleiades-2020-03\workspace\sample-eb-java\bin\main\jp\co\sample_eb_java\domain\service
> javap -v ShopInformationService.class
Classfile /C:/pleiades-2020-03/workspace/sample-eb-java/bin/main/jp/co/sample_eb_java/domain/service/ShopInformationService.class
  Last modified 2020/08/12; size 1957 bytes
  MD5 checksum b6712daccce6cad8628e31007340fcca
  Compiled from "ShopInformationService.java"
public class jp.co.sample_eb_java.domain.service.ShopInformationService
  minor version: 0
  major version: 52
・ ・ ・ (Ci-après omis)

S'il est dit "version majeure: 52", c'est OK! </ b> D'ailleurs, dans le cas du JDK 11, ce sera "version majeure: 55".

(3) Vérifions l'opération. Si le comportement est différent de celui lorsque vous créez et lancez l'application avec JDK 8 et que vous l'exécutez, corrigez-le. (C'était bien cette fois.)

[4] Exécutez une application créée avec JDK 11 (Amazon Corretto 11) sur JDK 11 (Amazon Corretto 11)

Ensuite, exécutez l'application basée sur JDK 11 (Amazon Corretto 11) sur JDK 11 (Amazon Corretto 11). Le point de vue de la confirmation est

  • Vérifier si des API obsolètes sont utilisées

Sera.

(1) Tout d'abord, changez la compatibilité source de build.gradle de 1.8 à 11. Ce paramètre sera la version Java utilisée au moment de la construction, ou sera construit avec la version JDK appliquée si elle n'est pas spécifiée.

build.gradle (avant changement)


plugins {
	id 'org.springframework.boot' version '2.3.2.RELEASE'
	id 'io.spring.dependency-management' version '1.0.9.RELEASE'
	id 'java'
}

group = 'io.code_check.challenge_server'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
・ ・ ・ (Ci-après omis)

build.gradle (après changement)


plugins {
	id 'org.springframework.boot' version '2.3.2.RELEASE'
	id 'io.spring.dependency-management' version '1.0.9.RELEASE'
	id 'java'
}

group = 'io.code_check.challenge_server'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
・ ・ ・ (Ci-après omis)

(2) Après l'enregistrement, faites un clic droit sur "build.gradle" (1)> "Gradle" (2)> "Refresh Gradle Project" (3) pour mettre à jour les dépendances. image.png

(3) Nettoyez le projet.

(4) Vérifiez l'erreur. Vérifiez l'onglet "Problèmes" et assurez-vous qu'il n'y a pas de nouvelles erreurs. Si une erreur se produit, corrigez-la en vous référant au contenu du message (cette fois, c'était aussi bien) image.png

(5) Cliquez avec le bouton droit sur le projet cible et démarrez l'application.

(6) Une fois l'application démarrée normalement, vérifiez la version JDK au moment de la compilation avant de vérifier l'opération. À l'invite de commandes, exécutez la commande de confirmation de version Java pour tout fichier de classe sous le bac du projet.

Commande d'exécution et résultat


> cd C:\pleiades-2020-03\workspace\sample-eb-java\bin\main\jp\co\sample_eb_java\domain\service
> javap -v ShopInformationService.class
Classfile /C:/pleiades-2020-03/workspace/sample-eb-java/bin/main/jp/co/sample_eb_java/domain/service/ShopInformationService.class
  Last modified 2020/08/12; size 1957 bytes
  MD5 checksum b6712daccce6cad8628e31007340fcca
  Compiled from "ShopInformationService.java"
public class jp.co.sample_eb_java.domain.service.ShopInformationService
  minor version: 0
  major version: 55
・ ・ ・ (Ci-après omis)

S'il est dit "version majeure: 55", c'est OK! </ b>

(7) Vérifiez l'opération, et si le résultat est différent du résultat attendu, corrigez la pièce cible. (C'était aussi bien cette fois.)

(8) Créez un fichier jar pour créer l'environnement Elastic Beantalk. Accédez au répertoire racine de votre projet et exécutez la commande build.

Si la mise en page est la suivante, ce sera comme suit. image.png

Commande d'exécution


> cd C:\pleiades-2020-03\workspace\sample-eb-java
> gradlew build

OK si le résultat est "BUILD SUCCESSFUL"! </ b>

(10) Assurez-vous que le fichier jar est créé sous build / libs. (Utilisez ceci lors de la création de l'environnement.) image.png

2. Créez un environnement Corretto 11 avec Elastic Beanstalk

Ensuite, créez un environnement pour la plateforme Corretto 11 avec Elastic Beanstalk.

(1) Connectez-vous à AWS Management Console, ouvrez Elastic Beanstalk, cliquez sur "Applications" dans le volet de navigation et appuyez sur le bouton radio du projet pour lequel vous souhaitez créer un environnement pour la plateforme corretto 11 (②) "Actions" (③) > "Créer un environnement" (④). image.png

(2) Sélectionnez «Environnement du serveur Web» (①) et cliquez sur «Sélectionner» (②). image.png

(3) Définissez comme suit et cliquez sur "Définir plus d'options" (9)

No Nom Réglages
Nom de l'environnement Entrez un nom (différent de celui existant)
Plate-forme Java
Branche de la plateforme Corretto 11 running on 64bit Amazon Linux 2
Version de la plateforme 3.1.0: recommandé
Code d'application Sélectionnez "Télécharger le code"
Libellé de la version Entrez un nom (différent de celui existant)
Source du code source Sélectionnez "Fichier local" et 1-(9)、(10)Téléchargez le fichier jar créé dans
Sélection de fichiers 1-(9)、(10)Téléchargez le fichier jar créé dans

image.png

(4) Dans "Définir plus d'options",

-① Logiciel -② Réseau

Installer.

① Après la transition vers l'écran «Définir plus d'options», cliquez sur le bouton «Modifier» de «Logiciel», définissez comme suit sur l'écran «Changer de logiciel», puis cliquez sur «Enregistrer» (③) ..

No Nom Réglages
Streaming de journaux Cochez "Valide"
Propriétés environnementales Définissez le même contenu que la plate-forme Java 8 existante (utilisez le même RDS)

image.png

(2) Ensuite, cliquez sur le bouton "Modifier" de "Réseau", définissez comme suit sur l'écran "Changer de réseau", et cliquez sur "Enregistrer" (③).

No Nom Réglages
Adresse IP publique Mettre un chèque
Zone de disponibilité Mettre un chèque

image.png

(3) Lorsque vous revenez à l'écran «Définir plus d'options», cliquez sur «Créer un environnement» en bas à droite de la scène pour créer un environnement. image.png

(4) L'environnement sera créé après un certain temps. Si la santé est "OK", c'est OK! image.png

3. Reconfigurer CodePipeline

À l'avenir, nous examinerons les paramètres du pipeline de code afin qu'ils soient correctement déployés dans l'environnement créé dans "2. Création d'un environnement Corretto 11 avec Elastic Beanstalk".

[1] CodeBuild BuildSpec

(1) Dans la console de gestion, ouvrez CodeBuild, sélectionnez le projet de construction que vous utilisez lorsque CI / CD vers la plate-forme Java 8, et cliquez sur "Edit" (②)> "BuildSpec" (③). image.png

(2) Comme indiqué ci-dessous, changez le java de la commande build de corretto8 en corretto11 (1) et cliquez sur "Update buildspec" (2). image.png

BuildSpec (avant modification)


version: 0.2

phases:
  install:
    runtime-versions:
      java: corretto8
  build:
    commands:
       - ./gradlew test

BuildSpec (après modification)


version: 0.2

phases:
  install:
    runtime-versions:
      java: corretto11
  build:
    commands:
       - ./gradlew test

[2] Destination de déploiement de CodePipeline

(1) Dans la console de gestion, recherchez CodePipeline, ouvrez-le et cliquez sur le pipeline cible. image.png

(2) Après la transition vers l'écran du pipeline cible, cliquez sur "Modifier". image.png

(3) Cliquez sur "Modifier l'étape" de "Modifier: Déployer" (1) et cliquez sur le bouton "Modifier" (2). image.png

image.png

(4) Après la transition vers l'écran "Modifier l'action", remplacez le "Nom de l'environnement" par le nom de l'environnement créé dans "2. Création d'un environnement Corretto 11 avec Elastic Beanstalk" (①) et cliquez sur "Terminer" (②). ). image.png

(5) Cliquez sur le bouton "Enregistrer" pour enregistrer vos modifications. image.png

(6) Puisque le contenu de build.gradle aurait dû être changé dans "1. Mettre à niveau JDK vers Amazon Corretto 8 → Amazon Corretto 11", validons, poussons et exécutons le pipeline. Si le déploiement réussit comme indiqué ci-dessous (1), cliquez sur «AWS Elastic Beanstalk» (2). image.png

(7) L'écran passera à l'écran "Environnement" d'Elastic Beanstalk, donc cliquez sur l'environnement cible. image.png

(8) Confirmez que «Santé» est «OK» et confirmez que l'application fonctionne correctement dans le domaine (②). image.png

4. URL de l'environnement d'échange

Échangez l'URL de l'environnement, c'est-à-dire remplacez l'URL de la plate-forme Java 8 existante par la plate-forme Corretto 11 créée cette fois. Cela élimine le besoin de modifier l'URL de l'application.

(1) Sur la console, passez à l'écran Elastic Beantalk, cochez le bouton radio de l'environnement Java 8 dans le menu «Environnement» (1), et cliquez sur «Action» (2)> Swap «URL d'environnement». (③). image.png

(2) Dans "Nom de l'environnement" de "Sélectionner l'environnement à permuter", sélectionnez l'environnement créé dans "2. Créer un environnement Corretto 11 avec Elastic Beanstalk" (①) et cliquez sur "Permuter" (②). image.png

(3) Lorsque vous avez terminé, accédez à la plate-forme Corretto 11 et assurez-vous que l'URL dans la case rouge a été remplacée par celle de la plate-forme Java 8. image.png

(4) Juste au cas où, vérifions l'opération avec le domaine remplacé.

5. Isolation des instances RDS

Isolez ensuite l'instance RDS de la plate-forme Java 8 afin qu'elle ne soit pas supprimée lorsque vous quittez l'environnement.

(1) Dans la console de gestion, recherchez RDS, transition, cliquez sur «Base de données» dans le volet de navigation, puis cochez le bouton radio de l'instance de base de données cible (incluse dans la plateforme Java 8) (①)> Cliquez sur «Action» (②)> «Prendre un instantané» (③). image.png

(2) Entrez un nom d'instantané arbitraire (①) et cliquez sur "Prendre un instantané" (②) image.png

(3) Confirmez que l'instantané a été créé sur l'écran «Instantané». image.png

(4) Dans le volet de navigation, cliquez sur "Base de données" (1), cochez le bouton radio de l'instance de base de données cible (1) et cliquez sur "Modifier" (3). image.png

(5) Cochez «Activer la protection contre la suppression» (①) et «Suivant» (②). image.png

(6) Vérifiez le contenu et cliquez sur "Modifier l'instance de base de données". image.png

6. Supprimer l'environnement Java 8

(1) Supprimez l'environnement Java 8 dont vous n'avez plus besoin. Après avoir cliqué sur «Environnement» dans le volet de navigation d'Elastic Beanstalk, cochez le bouton radio de l'environnement Java 8 (①), et cliquez sur «Action» (②)> «Quitter l'environnement» (③). image.png

(2) Une fois l'environnement Java 8 terminé, vérifiez que l'instance de base de données n'a pas été supprimée et vérifiez à nouveau l'opération dans le domaine Corretto 11.

7. Nettoyer

[1] Suppression de l'environnement de la plate-forme Corretto 11

(1) Supprimez l'environnement de la même manière que dans "6. Suppression de l'environnement Java 8".

[2] Supprimer l'instance RDS

Étant donné que l'instance de base de données est isolée de l'environnement Elastic Beanstalk dans "5. Isolation de l'instance RDS", elle ne sera pas supprimée telle quelle. Suivez la procédure ci-dessous.

(1) Dans la console de gestion, passez à RDS, cliquez sur «Base de données» dans le volet de navigation, cochez le bouton radio de l'instance de base de données cible (①), et cliquez sur «Modifier» (②). image.png

(2) Décochez «Activer la protection contre la suppression» (①) et «Suivant» (②). image.png

(3) Cochez «Résumé des modifications» (1), sélectionnez «Appliquer immédiatement» (2) et cliquez sur «Modifier l'instance de base de données» (3). image.png

(4) Lorsque vous revenez à l'écran "Base de données", cochez le bouton radio de l'instance RDS cible et cliquez sur "Action" (②)> "Supprimer" pour la supprimer (③). image.png

référence

procédure

1. JDK Amazon Corretto 8 → Mise à niveau vers Amazon Corretto 11

  • Oracle JDK Migration Guide (Release 11) | Oracle Help Center
  • [ Mettez à niveau l'application Web Spring Boot 2.0.x vers 2.1.x (Partie 15) (Changez JDK de 8u202 à 11.0.2 + 9) | Journal de Kangaru-san](https: //ksby.hatenablog) .com / entrée / 2019/03/16/144029)
  • [Une erreur s'affiche pour le pilote de base de données inutilisé | Assistance IBM](https://www.ibm.com/support/pages/%E6%9C%AA%E4%BD%BF%E7%94%] A8% E3% 81% AE% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 83% 99% E3% 83% BC% E3% 82% B9% EF% BD% A5% E3% 83% 89% E3% 83% A9% E3% 82% A4% E3% 83% 90% E3% 83% BC% E3% 81% AB% E9% 96% A2% E3% 81% 99% E3% 82% 8B% E3% 82% A8% E3% 83% A9% E3% 83% BC% E3% 81% 8C% E8% A1% A8% E7% A4% BA% E3% 81% 95% E3% 82% 8C% E3% 82% 8B)
  • [À propos de la construction automatique d'Eclipse | débordement de pile](https://ja.stackoverflow.com/questions/6386/eclipse%E3%81%AE%E8%87%AA%E5%8B%95%E7% 9A% 84% E3% 81% AB% E3% 83% 93% E3% 83% AB% E3% 83% 89% E3% 81% AB% E3% 81% A4% E3% 81% 84% E3% 81% A6)
  • [Vérifiez avec quelle version le fichier de classe Java a été compilé | Note technique de Rutake](http://blog.rutake.com/techmemo/2016/01/06/java-class%E3%83%95% E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 81% 8C% E3% 81% A9% E3% 81% AE% E3% 83% 90% E3% 83% BC% E3% 82% B8% E3% 83% A7% E3% 83% B3% E3% 81% A7% E3% 82% B3% E3% 83% B3% E3% 83% 91% E3% 82% A4% E3% 83% AB% E3% 81% 95% E3% 82% 8C% E3% 81% 9F /)
  • Version Java | Historique des modifications Hishidama
  • Créer un environnement de développement pour Eclipse et Intellij IDEA avec Gradle | Enregistrement de développeur d'applications mobiles qui aime les chats

4. Déploiement bleu / vert - Séparation des instances RDS et échange d'URL d'environnement

Recommended Posts