6. David Renton
JHipster is a development platform to
generate, develop and deploy
Spring Boot + Angular/React
Web applications and Spring microservices.
17. David Renton
Install the Dev Box
Full instructions here: https://github.com/jhipster/jhipster-devbox
But the following will get us started:
On Mac or Linux
vagrant init jhipster/jhipster-devbox; vagrant up --provider virtualbox
On Windows
vagrant init jhipster/jhipster-devbox
vagrant up --provider virtualbox
18. David Renton
While that’s installing ….
Have a look through some of the options available through JHipster
23. David Renton
Make a folder to work in
Mine is /var/tmp/NeuedaProject
git clone https://github.com/jhipster/jhipster-registry
Inside that folder - clone the JHipster registry RUN: (Use GitBash)
24. David Renton
git init
git add .
git commit –m
“meaningful
message”
When you see the “In case of
fire” symbol again you should
be versioning your code.
25. David Renton
Enter the cloned project
Run the back end - RUN:
cd jhipster-registry && ./mvnw
DIRECTION leave this window open
26. David Renton
In the cloned project
Build the front end- RUN:
cd jhipster-registry && yarn && yarn start
DIRECTION when the build is finished, you can close this window
27. David Renton
View the registry
• Restart the back end to pick up the yarn build.
• Open a browser and navigate to:
http://localhost:8761
29. David Renton
Milestone – running Jhipster registry
The JHipster Registry has three main purposes:
• It is a an Eureka server, that serves as a discovery server for
applications. This is how JHipster handles routing, load balancing
and scalability for all applications.
• It is a Spring Cloud Config server, that provide runtime
configuration to all applications.
• It is an administration server, with dashboards to monitor and
manage applications.
30. David Renton
Creating a Microservice
Create a directory for the app and cd to it - RUN:
mkdir car-app && cd car-app
31. David Renton
Run the JHipster wizard
Chose whichever options suit you best, the only caveat’s are:
The port should be 8081
The production database needs to be PostgreSQL
jhipster
In the CMD window in the car-app directory - RUN
32. David Renton
Here are the options I chose:? Which *type* of application would you like to create? Microservice application
? What is the base name of your application? carsapp
? As you are running in a microservicearchitecture, on which port would like your server to run? It should be unique to avoid port conflicts. 8081
? What is your default Java package name? com.car.app
? Which service discovery server do you want to use? JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
? Which *type* of authentication would you like to use? JWT authentication (stateless, with a token)
? Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
? Which *production* database would you like to use? PostgreSQL
? Which *development* database would you like to use? H2 with disk-based persistence
? Do you want to use the Spring cache abstraction? Yes, with the Hazelcast implementation (distributed cache, for multiple nodes)
? Do you want to use Hibernate 2nd level cache? Yes
? Would you like to use Maven or Gradle for building the backend? Maven
? Which other technologies would you like to use?
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install Portuguese (Brazilian)
? Besides JUnit and Jest, which testing frameworks would you like to use? Gatling
? Would you like to install other generators from the JHipster Marketplace? No
33. David Renton
Create an entity
I gave the entity 3 fields:
• make
• model
• price
jhipster entity car
In the same window and directory (car-app) RUN:
34. David Renton
Here are the options I chose:? Do you want to add a field to your entity? Yes
? What is the name of your field? make
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? Yes
? What is the name of your field? model
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? Yes
? What is the name of your field? price
? What is the type of your field? BigDecimal
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? No
? Do you want to add a relationship to another entity? No
? Do you want to use separate service class for your business logic? No, the REST controller should use the repository directly
? Do you want pagination on your entity? Yes, with infinite scroll
35. David Renton
Run the app
Keep an eye on your registry dashboard to see the microservice registration.
./mvnw
In the same window and directory (car-app) RUN:
36. David Renton
See the microservice starting
• We should see the app starting it the registry logs at
On the dashboard or
http://localhost:8761/#/logs
NOTE: there is no front end code
yet, inspecting the files we will find
no html/css
38. David Renton
Creating a Gateway
Create a directory for the app and cd to it - RUN:
cd .. && mkdir gateway-app && cd gateway-app
39. David Renton
Run the JHipster wizard
Chose whichever options suit you best, the only caveat’s are:
The port should be 8080
The production database needs to be PostgreSQL
jhipster
In the CMD window in the gateway directory - RUN
40. David Renton
Here are the options I chose:? Which *type* of application would you like to create? Microservice gateway
? What is the base name of your application? gateway
? As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts. 8080
? What is your default Java package name? com.gateway.app
? Which service discovery server do you want to use? JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
? Which *type* of authentication would you like to use? JWT authentication (stateless, with a token)
? Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
? Which *production* database would you like to use? PostgreSQL
? Which *development* database would you like to use? H2 with disk-based persistence
? Do you want to use Hibernate 2nd level cache? Yes
? Would you like to use Maven or Gradle for building the backend? Maven
? Which other technologies would you like to use?
? Which *Framework* would you like to use for the client? React
? Would you like to enable *SASS* stylesheet preprocessor? No
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install Portuguese (Brazilian)
? Besides JUnit and Jest, which testing frameworks would you like to use? Gatling, Protractor
? Would you like to install other generators from the JHipster Marketplace? No
41. David Renton
Add the entity created earlier
jhipster entity car
In the same window and directory (gateway-app) RUN:
42. David Renton
Here are the options I chose:
? Do you want to generate this entity from an existing microservice? Yes
? Enter the path to the microservice root directory: ../car-app
? Do you want to update the entity? This will replace the existing files for this
entity, all your custom code will be overwritten Yes, re generate the entity
conflict webpackwebpack.dev.js
43. David Renton
Run the app
Keep an eye on your registry to see the gateway being registered and its
status
Automatically generated credentials are admin/admin and user/user
./mvnw
In the same window and directory (gateway-app) RUN:
44. David Renton
View the microservice through the
gateway
• To see the updated project navigate to:
http://localhost:8080/
Login with Admin/Admin
Navigate to entitys/car and
create a new car
45. David Renton
Test
• To do a test of functionality, do a:
• View
• Edit
• Delete
• Recreate a car
Check
http://localhost:8761/#/applications
47. David Renton
Milestone
You have created a front end that can read and write data to your
microservice all registered through your local Eureka server.
48. David Renton
A second Microservice
Create a directory for the app and cd to it - RUN:
cd .. && mkdir dealer-app && cd dealer-app
49. David Renton
Run the JHipster wizard
Chose whichever options suit you best, the only caveat’s are:
The port should be 8082
The production database needs to be PostgreSQL
jhipster
In the CMD window in the dealer-app directory - RUN
50. David Renton
Here are the options I chose:? Which *type* of application would you like to create? Microservice application
? What is the base name of your application? dealerapp
? As you are running in a microservicearchitecture, on which port would like your server to run? It should be unique to avoid port conflicts. 8082
? What is your default Java package name? com.dealer.app
? Which service discovery server do you want to use? JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
? Which *type* of authentication would you like to use? JWT authentication (stateless, with a token)
? Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
? Which *production* database would you like to use? PostgreSQL
? Which *development* database would you like to use? H2 with disk-based persistence
? Do you want to use the Spring cache abstraction? Yes, with the Hazelcast implementation (distributed cache, for multiple nodes)
? Do you want to use Hibernate 2nd level cache? Yes
? Would you like to use Maven or Gradle for building the backend? Maven
? Which other technologies would you like to use?
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install Portuguese (Brazilian)
? Besides JUnit and Jest, which testing frameworks would you like to use? Gatling
? Would you like to install other generators from the JHipster Marketplace? No
51. David Renton
Create an entity
I gave the entity 2 fields:
• name
• address
jhipster entity dealer
In the same window and directory (car-app) RUN:
52. David Renton
Here are the options I chose:
? Do you want to add a field to your entity? Yes
? What is the name of your field? name
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? Yes
? What is the name of your field? address
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? No
? Do you want to add a relationship to another entity? No
? Do you want to use separate service class for your business logic? No, the REST controller should use the
repository directly
? Do you want pagination on your entity? Yes, with infinite scroll
53. David Renton
Run the app
./mvnw
In the same window and directory (dealer-app) RUN:
54. David Renton
Add entity to the gateway
jhipster entity dealer
In the same window navigate to the gateway-app directory (cd ../gateway-app)
RUN:
55. David Renton
Here are the options I chose:
? Do you want to generate this entity from an existing microservice? Yes
? Enter the path to the microservice root directory: ../dealer-app
? Do you want to update the entity? This will replace the existing files for this
entity, all your custom code will be overwritten Yes, re generate the entity
conflict webpackwebpack.dev.js
56. David Renton
Run the app
Automatically generated credentials are admin/admin and user/user
./mvnw
In the same window and directory (gateway-app) RUN:
57. David Renton
Check the microservice through the
gateway
• To see the updated project navigate to:
http://localhost:8080/
Login with Admin/Admin
Navigate to entitys/car and
create a new car
58. David Renton
Test
• To do a test of functionality, do a:
• View
• Edit
• Delete
• Recreate a dealer
Check
http://localhost:8761/#/applications
61. David Renton
Test automation
• Depending on the tests you included in your selections
• Jhipster has built them for you and stored them in the test folder
• run them!!
./mvnw clean test
gulp test
npm run e2e
62. David Renton
Code Quality
Run the Sonar Docker container at the root of your project
Login to Sonar with admin/admin at:
Run a build and pipe the results to Sonar
./mvnw -Pprod clean test sonar:sonar
http://127.0.0.1:9001/
docker-compose -f src/main/docker/sonar.yml up –d
http://127.0.0.1:9001/
64. David Renton
What is Heroku
• Heroku is a cloud platform that lets companies build, deliver,
monitor and scale apps — we're the fastest way to go from idea to
URL, bypassing all those infrastructure headaches.
• Heroku, one of the first cloud platforms, has been in development
since June 2007
• Heroku was acquired by Salesforce.com in 2010 for $212 million
• Heroku gives us free credits, allowing us to test generated
applications with complex, high-end setups, to guarantee
everything works well for our common users
65. David Renton
Heroku JHipster registry
https://dashboard.heroku.com/new?&template=https%3A%2F%2Fgithub.co
m%2Fjhipster%2Fjhipster-registry
Open a browser and navigate to:
This is a special link that lets Heroku know you are using Jhipster
microservices and will need a Jhipster registry the same as your local one.
66. David Renton
Here are the options I chose:
I've used the name neueda and the region as Europe
Then deploy app
The registry address will be https://[appname].herokuapp.com so in my case
the address will be https://neueda.herokuapp.com.
67. David Renton
Open the
projects in an IDE
Change the address of the registry in the:
application-prod.yml
bootstrap-prod.yml
Src-main-resource-config
68. David Renton
Open the projects in an IDE
The registry address will be https://[appname].herokuapp.com so in my case
the address will be https://neueda.herokuapp.com.
uri: http://admin:${jhipster.registry.password}@neueda.herokuapp.com/config
hostname: https://admin:admin@neueda.herokuapp.com
69. David Renton
Heroku CLI
heroku login
Log in with the CLI by running the following command RUN:
**$ heroku login**
Enter your Heroku credentials.
Email: YOUR_EMAIL
Password (typing will be hidden): YOUR_PASSWORD
Authentication successful.
70. David Renton
Deploy your app to Heroku
Jhipster heroku
Navigate to each folder, gateway-app, car-app and dealer-app and RUN:
The Heroku sub-generator will prompt you for the URL of your registry, which
will be in the form https://[appname].herokuapp.com
In my case the address will be https://neueda.herokuapp.com.
Always allow Heroku to pick a name for your deployment.
71. David Renton
Deploy your app to Heroku
jhipster heroku
? Name to deploy as: gateway
? On which region do you want to deploy ? us
? Which type of deployment do you want ? Git (compile on Heroku)
? The Heroku app "gateway" already exists! Use it anyways? No, generate a random
name
https://damp-crag-59450.herokuapp.com/ | https://git.heroku.com/damp-crag-
59450.git
? What is the name of your JHipster Registry Heroku app? neueda
? What is your JHipster Registry username? admin
? What is your JHipster Registry password? admin
JHIPSTER_REGISTRY_URL: https://admin:admin@neueda.herokuapp.com
73. David Renton
Heroku tips
If the worst happens:
Delete the application-heroku-yml and bootstrap-heroku.yml
Then in .yo.rc.json remove the “herokuAppName”
Make sure the value for herokuDeployType is git
76. David Renton
CI/CD
JHipster should support the following CI systems out of the box:
Jenkins:
Setting up Jenkins 1
Setting up Jenkins 2 (recommended)
Travis: refer to the Travis Documentation
GitLab CI: refer to the GitLab CI Documentation
Azure Pipelines: refer to the Azure Pipelines Documentation
Running the sub-generator
To generate these config files, run this command in your project folder:
jhipster ci-cd
Then answer all the questions.
77. David Renton
What pipeline do you want?
The CI/CD pipeline you want to generate:
Jenkins pipeline
Azure Pipelines
GitLab CI
Travis CI
Note: when you select Jenkins pipeline, a new src/main/docker/jenkins.yml file
will be generated. So you can test Jenkins locally by running:
docker-compose -f src/main/docker/jenkins.yml up -d
On Mac or Linux
vagrant init jhipster/jhipster-devbox; vagrant up --provider virtualbox
On Windows
vagrant init jhipster/jhipster-devbox
vagrant up --provider virtualbox
Make sure hyper-V is turne
https://github.com/jhipster/jhipster-devboxd off in windows settings.
A gateway is a JHipster-generated application (using application type microservice gateway when you generate it) that handles Web traffic, and serves an Angular application. There can be several different gateways, if you want to follow the Backends for Frontends pattern, but that’s not mandatory.
Traefik is a modern HTTP reverse proxy and load balancer that can work with a gateway.
The JHipster Registry is a runtime application on which all applications registers and get their configuration from. It also provides runtime monitoring dashboards.
Consul is a service discovery service, as well as a key/value store. It can be used as an alternative to the JHipster Registry.
JHipster UAA is a JHipster-based User Authentication and Authorization system, which uses the OAuth2 protocol.
Microservices are JHipster-generated applications (using application type microservice application when you generate them), that handle REST requests. They are stateless, and several instances of them can be launched in parallel to handle heavy loads.
The JHipster Console is a monitoring & alerting console, based on the ELK stack.
Service-based networking for dynamic infrastructure
https://github.com/Netflix/eureka
https://www.consul.io/
https://github.com/Netflix/zuul
Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more. Please view the wiki for usage, information, HOWTO, etc https://github.com/Netflix/zuul/wiki
https://spring.io/
https://www.docker.com/
git clone https://github.com/jhipster/jhipster-registry
When the gateways and the microservices are launched, they will register themselves in the registry
cd jhipster-registry && ./mvnw
The JHipster Registry has three main purposes:
It is an Eureka server, that serves as a discovery server for applications. This is how JHipster handles routing, load balancing and scalability for all applications.
It is a Spring Cloud Config server, that provide runtime configuration to all applications.
It is an administration server, with dashboards to monitor and manage applications.
MBNW is a Maven wrapper - mvn -N io.takari:maven:wrapper -Dmaven=3.6.0
cd jhipster-registry && yarn && yarn start
http://localhost:8761
mkdir car-app && cd car-app
jhipster
If your application uses an SQL data.
with a local cache, your service instances won’t have a synchronized cache, resulting in incorrect data
without any cache, the burden of scaling will be pushed to the database, which won’t be very good at it (unless you use our Cassandra option)
Using Hazelcast with microservices will result in a specific configuration:
At start-up, your application will connect to the JHipster Registry to find if other instances of the same service are running
With the dev profile, JHipster will create a cluster of those instances on localhost (127.0.0.1), using a different port per instance. By default, the Hazelcast port is your application's port + 5701 (so if your application’s port is 8081, Hazelcast will use port 13782)
With the prod profile, JHipster will create a cluster with all the other nodes it finds, using the default Hazelcast port (5701)
base, JHipster proposes a Hazelcast caching solution
? Which *type* of application would you like to create? Microservice application
? What is the base name of your application? carsapp
? As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts. 8081
? What is your default Java package name? com.car.app
? Which service discovery server do you want to use? JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
? Which *type* of authentication would you like to use? JWT authentication (stateless, with a token)
? Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
? Which *production* database would you like to use? PostgreSQL
? Which *development* database would you like to use? H2 with disk-based persistence
? Do you want to use the Spring cache abstraction? Yes, with the Hazelcast implementation (distributed cache, for multiple nodes)
? Do you want to use Hibernate 2nd level cache? Yes
? Would you like to use Maven or Gradle for building the backend? Maven
? Which other technologies would you like to use?
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install Portuguese (Brazilian)
? Besides JUnit and Jest, which testing frameworks would you like to use? Gatling
? Would you like to install other generators from the JHipster Marketplace? No
jhipster entity car
? Do you want to add a field to your entity? Yes
? What is the name of your field? make
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? Yes
? What is the name of your field? model
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? Yes
? What is the name of your field? price
? What is the type of your field? BigDecimal
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? No
? Do you want to add a relationship to another entity? No
? Do you want to use separate service class for your business logic? No, the REST controller should use the repository directly
? Do you want pagination on your entity? Yes, with infinite scroll
./mvnw
On the dashboard or http://localhost:8761/#/logs
cd .. && mkdir gateway-app && cd gateway-app
jhipster
? Which *type* of application would you like to create? Microservice gateway
? What is the base name of your application? gateway
? As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts. 8080
? What is your default Java package name? com.gateway.app
? Which service discovery server do you want to use? JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
? Which *type* of authentication would you like to use? JWT authentication (stateless, with a token)
? Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
? Which *production* database would you like to use? PostgreSQL
? Which *development* database would you like to use? H2 with disk-based persistence
? Do you want to use Hibernate 2nd level cache? Yes
? Would you like to use Maven or Gradle for building the backend? Maven
? Which other technologies would you like to use?
? Which *Framework* would you like to use for the client? React
? Would you like to enable *SASS* stylesheet preprocessor? No
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install Portuguese (Brazilian)
? Besides JUnit and Jest, which testing frameworks would you like to use? Gatling, Protractor
? Would you like to install other generators from the JHipster Marketplace? No
jhipster entity car
? Do you want to generate this entity from an existing microservice? Yes
? Enter the path to the microservice root directory: ../car-app
? Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten Yes, re generate the entity conflict webpack\webpack.dev.js
./mvnw
http://localhost:8080/
Check http://localhost:8761/#/applications
cd .. && mkdir dealer-app && cd dealer-app
jhipster
? Which *type* of application would you like to create? Microservice application
? What is the base name of your application? dealerapp
? As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts. 8082
? What is your default Java package name? com.dealer.app
? Which service discovery server do you want to use? JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
? Which *type* of authentication would you like to use? JWT authentication (stateless, with a token)
? Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
? Which *production* database would you like to use? PostgreSQL
? Which *development* database would you like to use? H2 with disk-based persistence
? Do you want to use the Spring cache abstraction? Yes, with the Hazelcast implementation (distributed cache, for multiple nodes)
? Do you want to use Hibernate 2nd level cache? Yes
? Would you like to use Maven or Gradle for building the backend? Maven
? Which other technologies would you like to use?
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install Portuguese (Brazilian)
? Besides JUnit and Jest, which testing frameworks would you like to use? Gatling
? Would you like to install other generators from the JHipster Marketplace? No
jhipster entity dealer
? Do you want to add a field to your entity? Yes
? What is the name of your field? name
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? Yes
? What is the name of your field? address
? What is the type of your field? String
? Do you want to add validation rules to your field? Yes
? Which validation rules do you want to add? Required
? Do you want to add a field to your entity? No
? Do you want to add a relationship to another entity? No
? Do you want to use separate service class for your business logic? No, the REST controller should use the repository directly
? Do you want pagination on your entity? Yes, with infinite scroll
./mvnw
jhipster entity dealer
? Do you want to generate this entity from an existing microservice? Yes
? Enter the path to the microservice root directory: ../dealer-app
? Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten Yes, re generate the entity conflict webpack\webpack.dev.js
./mvnw
http://localhost:8080/
Check http://localhost:8761/#/applications
./mvnw clean test
gulp test
npm run e2e
JHipster comes with an extensive set of tests, and each generated application has:
Integration tests using the Spring Test Context framework.
UI tests with Jest.
Optionally, JHipster can also generate:
Performance tests with Gatling.
Behaviour-driven tests with Cucumber
Angular/React integration tests with Protractor.
Protractor
UI integration tests are done with Protractor, and are located in the src/test/javascript/e2e folder.
Those tests will launch a Web browser and use the application like a real user would do, so you need to have a real application running, with its database set-up.
Those tests can be run using npm run e2e
To run Gatling performance tests, you must first install Gatling.
docker-compose -f src/main/docker/sonar.yml up –d
http://127.0.0.1:9001/
./mvnw -Pprod clean test sonar:sonar
http://127.0.0.1:9001/
Add the owasp dependency-check plugin
Security check:
<build>
...
<plugins>
...
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
..
</plugins>
...
</build>
Running ./mvnw verify will generate a dependency check report under the target directory.
heroku login
**$ heroku login**
Enter your Heroku credentials.
Email: YOUR_EMAIL
Password (typing will be hidden): YOUR_PASSWORD
Authentication successful.
Jhipster heroku
jhipster heroku
? Name to deploy as: gateway
? On which region do you want to deploy ? us
? Which type of deployment do you want ? Git (compile on Heroku)
? The Heroku app "gateway" already exists! Use it anyways? No, generate a random name
https://damp-crag-59450.herokuapp.com/ | https://git.heroku.com/damp-crag-59450.git
? What is the name of your JHipster Registry Heroku app? neueda
? What is your JHipster Registry username? admin
? What is your JHipster Registry password? admin
JHIPSTER_REGISTRY_URL: https://admin:admin@neueda.herokuapp.com
Jhipster heroku
jhipster ci-cd
docker-compose -f src/main/docker/jenkins.yml up -d