Approach 1: Native Eureka LibraryThe first way is to simply use the archive file generated by the Netflix Eureka build process:
1. Clone the Eureka source repository here: https://github.com/Netflix/eureka
2. Run " ./gradlew build" at the root of the repository, this should build cleanly generating a war file in eureka-server/build/libs folder
3. Grab this file, rename it to "eureka.war" and place it in the webapps folder of either tomcat or jetty. For this exercise I have used jetty.
4. Start jetty, by default jetty will boot up at port 8080, however I wanted to instead bring it up at port 8761, so you can start it up this way, " java -jar start.jar -Djetty.port=8761"
The server should start up cleanly and can be verified at this endpoint - " http://localhost:8761/eureka/v2/apps"
Approach 2: Spring-Cloud-Netflix
Spring-Cloud-Netflix provides a very neat way to bootstrap Eureka. To bring up Eureka server using Spring-Cloud-Netflix the approach that I followed was to clone the sample Eureka server application available here: https://github.com/spring-cloud-samples/eureka
1. Clone this repository
2. From the root of the repository run "mvn spring-boot:run", and that is it!.
The server should boot up cleanly and the REST endpoint should come up here: " http://localhost:8761/eureka/apps". As a bonus, Spring-Cloud-Netflix provides a neat UI showing the various applications who have registered with Eureka at the root of the webapp at " http://localhost:8761/".
Just a few small issues to be aware of, note that the context url's are a little different in the two cases "eureka/v2/apps" vs "eureka/apps", this can be adjusted on the configurations of the services which register with Eureka.
Your mileage with these approaches may vary. I have found Spring-Cloud-Netflix a little unstable at times but it has mostly worked out well for me. The documentation at the Spring-Cloud site is also far more exhaustive than the one provided at the Netflix Eureka site.