Migrate to asciidoc

This commit is contained in:
Stephane Nicoll
2014-12-08 15:54:25 +01:00
parent 1dca5d4630
commit e86830df39

View File

@@ -1,76 +1,96 @@
# Spring Initializr
= Spring Initializr
## Prerequisites
== Prerequisites
You need Java (1.6 or better) and a bash-like shell.
If you are on a Mac and using [homebrew](http://brew.sh/), all you need to do to install it is:
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 [running the app](#running_the_app).
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 [cygwin](http://cygwin.org)), or you can
download the [zip file](http://start.spring.io/spring.zip) and unpack
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
== 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
<a name="running_the_app"></a>
## Running the app locally
[[run-app]]
== Running the app locally
Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from
the [spring.io milestone repository](http://repo.spring.io/milestone). If you use a repository
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 [homebrew](http://brew.sh/), install the Cloud Foundry CLI:
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 [Pivotal Web Services](https://console.run.pivotal.io/tools).
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
@@ -78,11 +98,17 @@ 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