JAlgoArena Eureka is Discovery service for all backend JAlgoArena services. It's created based on Netflix Eureka with usage of Spring Boot and Spring Cloud.
- Introduction
- Components
- Continuous Delivery
- Infrastructure
- [Running Locally] (#running-locally)
- Notes
- Eureka server is the place where all JAlgoArena services registers itself - so then they can be found without direct dependency between services. Additionally - together with API Gateway it allows on easily scaling any stateless services - which is crucial for scaling Judge Agents.
- initially, developer push his changes to GitHub
- in next stage, GitHub notifies Travis CI about changes
- Travis CI runs whole continuous integration flow, running compilation, tests and generating reports
- application is deployed into Heroku machine
- Heroku (PaaS)
- Spring Boot, Spring Cloud
- Netflix Eureka (discovery service)
- TravisCI - https://travis-ci.org/spolnik/JAlgoArena-Eureka
There are two ways to run it - from sources or from binaries.
- Default port:
5000
- go to releases page and download last app package (JAlgoArena-Eureka-[version_number].zip)
- after unpacking it, go to folder and run
./run.sh
(to make it runnable, invoke commandchmod +x run.sh
) - you can modify port in run.sh script, depending on your infrastructure settings. The script itself can be found in here: run.sh
- run
git clone https://github.com/spolnik/JAlgoArena-Eureka
to clone locally the sources - now, you can build project with command
./gradlew clean bootRepackage
which will create runnable jar package with app sources. Next, runjava -Dserver.port=5000 -jar build\libs\jalgoarena-eureka-*.jar
which will start application - there is second way to run app with gradle. Instead of running above, you can just run
./gradlew clean bootRun