Lassen Sie uns einen kurzen Blick auf die Schritte zum Bereitstellen einer Java-Anwendung mithilfe von Spring Boot on Elastic Beanstalk (AWS PaaS) werfen. Da dies der erste Beitrag ist, denke ich, dass es einige Bereiche gibt, die nicht erreicht werden können, aber bitte verstehen Sie.
Sie können Beanstalk über die AWS-Konsole bereitstellen, diesmal möchte ich dies jedoch auch über das CI-Tool tun, sodass ich CLI (EB CLI) verwenden werde.
Dieses Mal werde ich das Einstellungsverfahren von Beanstalk erklären. Ich werde die Erstellung der Spring Boot App weglassen. Das Build-Tool ist gradle.
Mac OSX10.14.3
Installieren Sie die Beanstalk CLI mit Homebrew.
$ brew install awsebcli
Außerdem wird die AWS CLI installiert, um die Einstellungen für den Zugriffsschlüssel und den geheimen Zugriffsschlüssel zu speichern.
$ brew install awscli
$ aws configure
AWS Access Key ID [None]: {Geben Sie den Zugangsschlüssel ein}
AWS Secret Access Key [None]: {Geben Sie den geheimen Zugangsschlüssel ein}
Bereitstellen im Projektverzeichnis.
Beispiel
$ cd workspace/ebdemo/demo
Zunächst sind die Projekteinstellungen.
$ eb init
Wir werden es interaktiv einstellen.
Region
Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-south-1 : Asia Pacific (Mumbai)
7) ap-southeast-1 : Asia Pacific (Singapore)
8) ap-southeast-2 : Asia Pacific (Sydney)
9) ap-northeast-1 : Asia Pacific (Tokyo)
10) ap-northeast-2 : Asia Pacific (Seoul)
11) sa-east-1 : South America (Sao Paulo)
12) cn-north-1 : China (Beijing)
13) cn-northwest-1 : China (Ningxia)
14) us-east-2 : US East (Ohio)
15) ca-central-1 : Canada (Central)
16) eu-west-2 : EU (London)
17) eu-west-3 : EU (Paris)
18) eu-north-1 : EU (Stockholm)
(default is 3): 9
Anwendung
Select an application to use
1) [ Create new Application ]
(default is 1):
Enter Application Name
(default is "demo"):
Application demo has been created.
Plattform → Java für Spring Boot
Select a platform.
1) Node.js
2) PHP
3) Python
4) Ruby
5) Tomcat
6) IIS
7) Docker
8) Multi-container Docker
9) GlassFish
10) Go
11) Java
12) Packer
(default is 1): 11
Select a platform version.
1) Java 8
2) Java 7
(default is 1):
SSH
Cannot setup CodeCommit because there is no Source Control setup, continuing with initialization
Do you want to set up SSH for your instances?
(Y/n): Y
Select a keypair.
1) key
2) [ Create new KeyPair ]
(default is 2): 2
Kopieren Sie die Anwendungs-JAR vor der Bereitstellung in das Projektstammverzeichnis.
$ cp build/libs/demo-0.0.1-SNAPSHOT.jar .
Bereitstellen.
$ eb create
Enter Environment Name
(default is demo-dev):
Enter DNS CNAME prefix
(default is demo-dev):
Select a load balancer type
1) classic
2) application
3) network
(default is 2):
Es wird einige Minuten dauern.
Es funktioniert.
$ curl http://demo-dev.ap-northeast-1.elasticbeanstalk.com
Hello, World!
Ab dem zweiten Mal können Sie mit nur dem folgenden Befehl bereitstellen. Wenn Sie SSH, Zugriffsschlüssel usw. festlegen, können Sie diese automatisch über CI-Tools bereitstellen.
$ gradle clean build test
$ cp build/libs/demo-0.0.1-SNAPSHOT.jar .
$ eb deploy
Es scheint, dass die folgenden Einstellungen in application.properties erforderlich sind.
server.port=5000
Recommended Posts