mirror of
https://gitee.com/dcren/initializr.git
synced 2025-09-18 09:44:47 +08:00
Migrate to asciidoc
This commit is contained in:
116
README.adoc
Normal file
116
README.adoc
Normal file
@@ -0,0 +1,116 @@
|
||||
= Spring Initializr
|
||||
|
||||
== Prerequisites
|
||||
|
||||
You need Java (1.6 or better) and a bash-like shell.
|
||||
|
||||
If you are on a Mac and using http://brew.sh/[homebrew], all you need to do to install it is:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ brew tap pivotal/tap
|
||||
$ brew install springboot
|
||||
----
|
||||
|
||||
It will install `/usr/local/bin/spring`. You can jump right to <<run-app>>.
|
||||
|
||||
An alternative way to install the `spring` command line interface can be installed like this:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ curl start.spring.io/install.sh | bash
|
||||
----
|
||||
|
||||
After running that command you should see a `spring` directory:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ ./spring/bin/spring --help
|
||||
|
||||
usage: spring [--help] [--version]
|
||||
<command> [<args>]
|
||||
...
|
||||
----
|
||||
|
||||
You could add that `bin` directory to your `PATH` (the examples below
|
||||
assume you did that).
|
||||
|
||||
If you don't have `curl` or `zip` you can probably get them (for
|
||||
Windows users we recommend http://cygwin.org[cygwin]), or you can
|
||||
download the http://start.spring.io/spring.zip[zip file] and unpack
|
||||
it yourself.
|
||||
|
||||
== Project structure
|
||||
|
||||
Initializr is a library that provides all the default features and a service with a very simple script
|
||||
that uses the auto-configuration feature of Spring Boot. All you need is _grabbing_ the library and
|
||||
create a proper configuration file with the following script:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
package org.acme.myapp
|
||||
|
||||
@Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT')
|
||||
class InitializerService { }
|
||||
----
|
||||
|
||||
As a reference, `initializr-service` represents the _default_ service that runs at http://start.spring.io
|
||||
|
||||
[[run-app]]
|
||||
== Running the app locally
|
||||
|
||||
NOTE: Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from
|
||||
the http://repo.spring.io/milestone[spring.io milestone repository]. If you use a repository
|
||||
manager, please make sure to configure it accordingly. For your convenience, the project defines
|
||||
a `springMilestone` that you should activate if you haven't defined that repository yourself.
|
||||
|
||||
First make sure that you have built the library:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ cd initializr
|
||||
$ mvn clean install -PspringMilestone
|
||||
----
|
||||
|
||||
Once you have done that, you can easily start the app using the spring command from the `initializr-service`
|
||||
directory (`cd ../initializr-service`):
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ spring run app.groovy
|
||||
----
|
||||
|
||||
## Deploying to Cloud Foundry
|
||||
|
||||
If you are on a Mac and using http://brew.sh/[homebrew], install the Cloud Foundry CLI:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ brew install cloudfoundry-cli
|
||||
----
|
||||
|
||||
Alternatively, download a suitable binary for your platform from
|
||||
https://console.run.pivotal.io/tools[Pivotal Web Services].
|
||||
|
||||
An example Cloud Foundry `manifest.yml` file is provided. You should ensure that
|
||||
the application name and URL (name and host values) are suitable for your environment
|
||||
before running `cf push`.
|
||||
|
||||
You can jar up the app and make it executable in any environment.
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ spring jar start.jar app.groovy
|
||||
----
|
||||
|
||||
Once the jar has been created, you can push the application:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
$ cf push start -p start.jar -n start-<space>
|
||||
----
|
||||
|
||||
Where `<space>` is the name of the space. As a failsafe, and a
|
||||
reminder to be explicit, the deployment will fail in production
|
||||
without the `-n`. It is needed to select the route because there is a
|
||||
manifest that defaults it to `start-development`.
|
Reference in New Issue
Block a user