diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index 375817fef..0ce32eeb9 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -13,11 +13,11 @@ env: VETS_SERVICE: vets-service VISITS_SERVICE: visits-service # ==== JARS ====: - API_GATEWAY_JAR: spring-petclinic-api-gateway/target/spring-petclinic-api-gateway-3.0.1.jar - ADMIN_SERVER_JAR: spring-petclinic-admin-server/target/spring-petclinic-admin-server-3.0.1.jar - CUSTOMERS_SERVICE_JAR: spring-petclinic-customers-service/target/spring-petclinic-customers-service-3.0.1.jar - VETS_SERVICE_JAR: spring-petclinic-vets-service/target/spring-petclinic-vets-service-3.0.1.jar - VISITS_SERVICE_JAR: spring-petclinic-visits-service/target/spring-petclinic-visits-service-3.0.1.jar + API_GATEWAY_JAR: spring-petclinic-api-gateway/target/api-gateway-3.0.1.jar + ADMIN_SERVER_JAR: spring-petclinic-admin-server/target/admin-server-3.0.1.jar + CUSTOMERS_SERVICE_JAR: spring-petclinic-customers-service/target/customers-service-3.0.1.jar + VETS_SERVICE_JAR: spring-petclinic-vets-service/target/vets-service-3.0.1.jar + VISITS_SERVICE_JAR: spring-petclinic-visits-service/target/visits-service-3.0.1.jar jobs: build: diff --git a/README.md b/README.md index 2a0d941dc..1e00c7a6a 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ Note - `spring` CLI extension `1.5.0` or later is a pre-requisite to enable the ```bash cd spring-petclinic-microservices - mvn clean package -DskipTests + ./mvnw clean package -DskipTests ``` This will take a few minutes. @@ -243,11 +243,11 @@ Setup diagnostics and publish logs and metrics from Spring Boot apps to Azure Lo ### Load Spring Apps Config Server -Use the `application.yml` in the root of this project to load configuration into the Config Server in Azure Spring Apps. +Use the `config-file.yml` in the root of this project to load configuration into the Config Server in Azure Spring Apps. ```bash az spring config-server set \ - --config-file application.yml \ + --config-file config-file.yml \ --name ${SPRING_CLOUD_SERVICE} ``` @@ -346,7 +346,8 @@ Create a MySQL database in Azure Database for MySQL. --server ${MYSQL_SERVER_NAME} \ --database ${MYSQL_DATABASE_NAME} \ --system-identity mysql-identity-id=$IDENTITY_ID \ - --client-type springboot + --client-type springboot \ + --yes # Vets service connection az spring connection create mysql-flexible \ @@ -358,7 +359,8 @@ Create a MySQL database in Azure Database for MySQL. --server ${MYSQL_SERVER_NAME} \ --database ${MYSQL_DATABASE_NAME} \ --system-identity mysql-identity-id=$IDENTITY_ID \ - --client-type springboot + --client-type springboot \ + --yes # Visits service connection az spring connection create mysql-flexible \ @@ -370,7 +372,8 @@ Create a MySQL database in Azure Database for MySQL. --server ${MYSQL_SERVER_NAME} \ --database ${MYSQL_DATABASE_NAME} \ --system-identity mysql-identity-id=$IDENTITY_ID \ - --client-type springboot + --client-type springboot \ + --yes ``` ### Deploy Spring Boot applications and set environment variables diff --git a/application.yml b/config-file.yml similarity index 62% rename from application.yml rename to config-file.yml index e4b0d1a1e..9fe6acaf3 100644 --- a/application.yml +++ b/config-file.yml @@ -4,7 +4,4 @@ spring: server: git: uri: https://github.com/azure-samples/spring-petclinic-microservices-config - native: - search-locations: classpath:. - profiles: - active: native + default-label: master diff --git a/pom.xml b/pom.xml index 80db8fde0..f9f38dfd3 100644 --- a/pom.xml +++ b/pom.xml @@ -15,16 +15,6 @@ ${project.artifactId} pom - - spring-petclinic-admin-server - spring-petclinic-customers-service - spring-petclinic-vets-service - spring-petclinic-visits-service - spring-petclinic-config-server - spring-petclinic-discovery-server - spring-petclinic-api-gateway - - 17 3.17.1 @@ -77,6 +67,32 @@ + + default + + true + + + spring-petclinic-admin-server + spring-petclinic-customers-service + spring-petclinic-vets-service + spring-petclinic-visits-service + spring-petclinic-config-server + spring-petclinic-discovery-server + spring-petclinic-api-gateway + + + + + spring-apps + + spring-petclinic-admin-server + spring-petclinic-customers-service + spring-petclinic-vets-service + spring-petclinic-visits-service + spring-petclinic-api-gateway + + springboot @@ -85,6 +101,15 @@ src/main/resources/application.yml + + spring-petclinic-admin-server + spring-petclinic-customers-service + spring-petclinic-vets-service + spring-petclinic-visits-service + spring-petclinic-config-server + spring-petclinic-discovery-server + spring-petclinic-api-gateway + @@ -134,6 +159,15 @@ buildDocker + + spring-petclinic-admin-server + spring-petclinic-customers-service + spring-petclinic-vets-service + spring-petclinic-visits-service + spring-petclinic-config-server + spring-petclinic-discovery-server + spring-petclinic-api-gateway + @@ -181,6 +215,15 @@ development + + spring-petclinic-admin-server + spring-petclinic-customers-service + spring-petclinic-vets-service + spring-petclinic-visits-service + spring-petclinic-config-server + spring-petclinic-discovery-server + spring-petclinic-api-gateway + diff --git a/scripts/run_all_without_infra.sh b/scripts/run_all_without_infra.sh new file mode 100644 index 000000000..456b6d635 --- /dev/null +++ b/scripts/run_all_without_infra.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -o errexit +set -o errtrace +set -o nounset +set -o pipefail + +echo "Packaging apps" +./mvnw clean package -DskipTests + +pkill -9 -f spring-petclinic || echo "Failed to kill any apps" + +echo "Running apps" +mkdir -p target +nohup java -jar spring-petclinic-config-server/target/*.jar > target/config-server.log 2>&1 & +echo "Waiting for config server to start" +sleep 20 +nohup java -jar spring-petclinic-discovery-server/target/*.jar > target/discovery-server.log 2>&1 & +echo "Waiting for discovery server to start" +sleep 20 +nohup java -jar spring-petclinic-customers-service/target/*.jar > target/customers-service.log 2>&1 & +nohup java -jar spring-petclinic-visits-service/target/*.jar > target/visits-service.log 2>&1 & +nohup java -jar spring-petclinic-vets-service/target/*.jar > target/vets-service.log 2>&1 & +nohup java -jar spring-petclinic-api-gateway/target/*.jar > target/api-gateway.log 2>&1 & +nohup java -jar spring-petclinic-admin-server/target/*.jar > target/admin-server.log 2>&1 & +echo "Waiting for apps to start" +sleep 60 diff --git a/spring-petclinic-admin-server/pom.xml b/spring-petclinic-admin-server/pom.xml index d21a4d4e3..a6253be13 100644 --- a/spring-petclinic-admin-server/pom.xml +++ b/spring-petclinic-admin-server/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.samples.petclinic.admin - spring-petclinic-admin-server + admin-server jar Spring Boot Admin server diff --git a/spring-petclinic-api-gateway/pom.xml b/spring-petclinic-api-gateway/pom.xml index decd610aa..e6a80ecfa 100644 --- a/spring-petclinic-api-gateway/pom.xml +++ b/spring-petclinic-api-gateway/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.samples.petclinic.api - spring-petclinic-api-gateway + api-gateway jar Spring PetClinic API Gateway diff --git a/spring-petclinic-api-gateway/src/main/resources/application.yml b/spring-petclinic-api-gateway/src/main/resources/application.yml index c0192a775..cebf54725 100644 --- a/spring-petclinic-api-gateway/src/main/resources/application.yml +++ b/spring-petclinic-api-gateway/src/main/resources/application.yml @@ -7,25 +7,30 @@ spring: gateway: routes: - id: vets-service - uri: http://vets-service + uri: lb://vets-service predicates: - Path=/api/vet/** filters: - StripPrefix=2 - id: visits-service - uri: http://visits-service + uri: lb://visits-service predicates: - Path=/api/visit/** filters: - StripPrefix=2 - id: customers-service - uri: http://customers-service + uri: lb://customers-service predicates: - Path=/api/customer/** filters: - StripPrefix=2 - - +--- +server: + port: 8080 +spring: + config: + activate: + on-profile: default --- spring: diff --git a/spring-petclinic-config-server/pom.xml b/spring-petclinic-config-server/pom.xml index 564c316aa..0c6d3eef6 100644 --- a/spring-petclinic-config-server/pom.xml +++ b/spring-petclinic-config-server/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.springframework.samples.petclinic.config - spring-petclinic-config-server + config-server jar Spring PetClinic Config Server diff --git a/spring-petclinic-customers-service/pom.xml b/spring-petclinic-customers-service/pom.xml index 72ea5b87d..b606f92b5 100644 --- a/spring-petclinic-customers-service/pom.xml +++ b/spring-petclinic-customers-service/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.springframework.samples.petclinic.client - spring-petclinic-customers-service + customers-service jar Spring PetClinic Customers Service @@ -68,7 +68,7 @@ org.hsqldb hsqldb - runtime + org.jolokia diff --git a/spring-petclinic-customers-service/src/main/resources/data-hsqldb.sql b/spring-petclinic-customers-service/src/main/resources/db/hsqldb/data.sql similarity index 100% rename from spring-petclinic-customers-service/src/main/resources/data-hsqldb.sql rename to spring-petclinic-customers-service/src/main/resources/db/hsqldb/data.sql diff --git a/spring-petclinic-customers-service/src/main/resources/schema-hsqldb.sql b/spring-petclinic-customers-service/src/main/resources/db/hsqldb/schema.sql similarity index 100% rename from spring-petclinic-customers-service/src/main/resources/schema-hsqldb.sql rename to spring-petclinic-customers-service/src/main/resources/db/hsqldb/schema.sql diff --git a/spring-petclinic-customers-service/src/main/resources/data-mysql.sql b/spring-petclinic-customers-service/src/main/resources/db/mysql/data.sql similarity index 100% rename from spring-petclinic-customers-service/src/main/resources/data-mysql.sql rename to spring-petclinic-customers-service/src/main/resources/db/mysql/data.sql diff --git a/spring-petclinic-customers-service/src/main/resources/schema-mysql.sql b/spring-petclinic-customers-service/src/main/resources/db/mysql/schema.sql similarity index 100% rename from spring-petclinic-customers-service/src/main/resources/schema-mysql.sql rename to spring-petclinic-customers-service/src/main/resources/db/mysql/schema.sql diff --git a/spring-petclinic-discovery-server/pom.xml b/spring-petclinic-discovery-server/pom.xml index 08b18c334..15752378e 100644 --- a/spring-petclinic-discovery-server/pom.xml +++ b/spring-petclinic-discovery-server/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.springframework.samples.petclinic.discovery - spring-petclinic-discovery-server + discovery-server jar Spring PetClinic Discovery Server diff --git a/spring-petclinic-vets-service/pom.xml b/spring-petclinic-vets-service/pom.xml index 864dd3c32..47cfc24a1 100644 --- a/spring-petclinic-vets-service/pom.xml +++ b/spring-petclinic-vets-service/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.springframework.samples.petclinic.vets - spring-petclinic-vets-service + vets-service jar Spring PetClinic Vets Service diff --git a/spring-petclinic-vets-service/src/main/resources/data-hsqldb.sql b/spring-petclinic-vets-service/src/main/resources/db/hsqldb/data.sql similarity index 100% rename from spring-petclinic-vets-service/src/main/resources/data-hsqldb.sql rename to spring-petclinic-vets-service/src/main/resources/db/hsqldb/data.sql diff --git a/spring-petclinic-vets-service/src/main/resources/schema-hsqldb.sql b/spring-petclinic-vets-service/src/main/resources/db/hsqldb/schema.sql similarity index 100% rename from spring-petclinic-vets-service/src/main/resources/schema-hsqldb.sql rename to spring-petclinic-vets-service/src/main/resources/db/hsqldb/schema.sql diff --git a/spring-petclinic-vets-service/src/main/resources/data-mysql.sql b/spring-petclinic-vets-service/src/main/resources/db/mysql/data.sql similarity index 100% rename from spring-petclinic-vets-service/src/main/resources/data-mysql.sql rename to spring-petclinic-vets-service/src/main/resources/db/mysql/data.sql diff --git a/spring-petclinic-vets-service/src/main/resources/schema-mysql.sql b/spring-petclinic-vets-service/src/main/resources/db/mysql/schema.sql similarity index 100% rename from spring-petclinic-vets-service/src/main/resources/schema-mysql.sql rename to spring-petclinic-vets-service/src/main/resources/db/mysql/schema.sql diff --git a/spring-petclinic-visits-service/pom.xml b/spring-petclinic-visits-service/pom.xml index ff98f78fc..c7b3f3291 100644 --- a/spring-petclinic-visits-service/pom.xml +++ b/spring-petclinic-visits-service/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.samples.petclinic.visits - spring-petclinic-visits-service + visits-service jar Spring PetClinic Visits Service diff --git a/spring-petclinic-visits-service/src/main/resources/data-hsqldb.sql b/spring-petclinic-visits-service/src/main/resources/db/hsqldb/data.sql similarity index 100% rename from spring-petclinic-visits-service/src/main/resources/data-hsqldb.sql rename to spring-petclinic-visits-service/src/main/resources/db/hsqldb/data.sql diff --git a/spring-petclinic-visits-service/src/main/resources/schema-hsqldb.sql b/spring-petclinic-visits-service/src/main/resources/db/hsqldb/schema.sql similarity index 100% rename from spring-petclinic-visits-service/src/main/resources/schema-hsqldb.sql rename to spring-petclinic-visits-service/src/main/resources/db/hsqldb/schema.sql diff --git a/spring-petclinic-visits-service/src/main/resources/data-mysql.sql b/spring-petclinic-visits-service/src/main/resources/db/mysql/data.sql similarity index 100% rename from spring-petclinic-visits-service/src/main/resources/data-mysql.sql rename to spring-petclinic-visits-service/src/main/resources/db/mysql/data.sql diff --git a/spring-petclinic-visits-service/src/main/resources/schema-mysql.sql b/spring-petclinic-visits-service/src/main/resources/db/mysql/schema.sql similarity index 100% rename from spring-petclinic-visits-service/src/main/resources/schema-mysql.sql rename to spring-petclinic-visits-service/src/main/resources/db/mysql/schema.sql diff --git a/terraform/setup-env-variables-terraform-template.sh b/terraform/setup-env-variables-terraform-template.sh index dbb97caa8..e24387c28 100755 --- a/terraform/setup-env-variables-terraform-template.sh +++ b/terraform/setup-env-variables-terraform-template.sh @@ -14,11 +14,11 @@ export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service # ==== JARS ==== -export API_GATEWAY_JAR=spring-petclinic-api-gateway/target/spring-petclinic-api-gateway-2.2.1.jar -export ADMIN_SERVER_JAR=spring-petclinic-admin-server/target/spring-petclinic-admin-server-2.2.1.jar -export CUSTOMERS_SERVICE_JAR=spring-petclinic-customers-service/target/spring-petclinic-customers-service-2.2.1.jar -export VETS_SERVICE_JAR=spring-petclinic-vets-service/target/spring-petclinic-vets-service-2.2.1.jar -export VISITS_SERVICE_JAR=spring-petclinic-visits-service/target/spring-petclinic-visits-service-2.2.1.jar +export API_GATEWAY_JAR=spring-petclinic-api-gateway/target/api-gateway-3.0.1.jar +export ADMIN_SERVER_JAR=spring-petclinic-admin-server/target/admin-server-3.0.1.jar +export CUSTOMERS_SERVICE_JAR=spring-petclinic-customers-service/target/customers-service-3.0.1.jar +export VETS_SERVICE_JAR=spring-petclinic-vets-service/target/vets-service-3.0.1.jar +export VISITS_SERVICE_JAR=spring-petclinic-visits-service/target/visits-service-3.0.1.jar # ==== MYSQL INFO ==== export MYSQL_SERVER_NAME=mysqlservervj2 # customize this