94 lines
3.5 KiB
Markdown
94 lines
3.5 KiB
Markdown
# R11-Klaus
|
|
Mockup service for middleware testing.
|
|
|
|
[comment]: <> ([](https://travis-ci.com/Szakalakamaka/Klaus))
|
|
|
|
Available scripts:
|
|
|
|
### Running the application on a local machine
|
|
For Intellij:
|
|
Plugins:
|
|
settings -> plugins -> install lombok plugin
|
|
settings -> annotation processors -> enable annotation processing
|
|
|
|
A connection to a Redis database is expected to run the application successfully. You need to download and run Redis DB on
|
|
your local machine with default values localhost 6379.
|
|
|
|
You can also run the application via Docker.
|
|
#### docker-compose up --build -d
|
|
|
|
However, you need either to run it with Docker-compose ensuring that all containers are within a network or start application locally.
|
|
In order to change environment two properties must be changed.
|
|
|
|
1) data-access.properties - property redis.host
|
|
2) logback.xml - configuration/appender/host element value
|
|
|
|
If application is to be run locally, both of above should be set to "localhost"
|
|
If application is to be run in docker environment, both should be set to name of a redis container (by default "redis")
|
|
|
|
Docker automaticly translates container name to IP address, considering all containers are within same network.
|
|
Try to avoid using any symbols in names of containers, because it may cause that URL exception to be thrown. Instead use letters only.
|
|
|
|
### Operations on Redis DB
|
|
|
|
Use Redis CLI or attach to Redis docker image in order to manually operate on DB.
|
|
|
|
#### docker exec -it mockedservices_redis-server redis-cli
|
|
Attach to redis server image and open a redis client.
|
|
|
|
Useful redis-cli commands:
|
|
###### KEYS *
|
|
Show all keys in the db.
|
|
###### TYPE key
|
|
Show key type.
|
|
###### LRANGE key start stop
|
|
Display elements from the list.
|
|
###### LLEN key
|
|
Display list length.
|
|
###### SMEMBERS key
|
|
Display elements from hashSet.
|
|
Logs can be found in lists with names logstash_yyyy-mm-dd.
|
|
|
|
### Deployment and building with docker and jenkins
|
|
For creating docker context (feature available from docker version 19.03) run the command
|
|
#### docker context create
|
|
as shown by examples below.
|
|
|
|
```
|
|
docker context create DEV \
|
|
--description "context for DEV environment" \
|
|
--docker "host=ssh://jenkins@s5000xvn:22"
|
|
```
|
|
|
|
```
|
|
docker context create PROD \
|
|
--description "connection to PROD environment" \
|
|
--docker "host=ssh://jenkins@server361209.nazwa.pl:22"
|
|
```
|
|
|
|
```
|
|
docker context create PROD \
|
|
--description "context for PROD environment" \
|
|
--docker "host=ssh://jenkins@server361209:22"
|
|
```
|
|
|
|
However it is highly adviseable to deploy service via Jenkins tool at jenkins.zipper.release11.com, where contexts have been already configured.
|
|
|
|
#### docker-compose up -d --build
|
|
Builds and launches Redis service and the application. Performs unit testing on the code and run the applicationon on localhost.
|
|
|
|
#### docker-compose --context DEV up --build -d
|
|
The same as above, but the application will be deployed on the server defined via docker context as DEV.
|
|
|
|
#### docker-compose --context PROD up --build -d
|
|
The same as above, but the application will be deployed on the server defined via docker context as PROD.
|
|
|
|
The application can be started on a local machine without environment support.
|
|
|
|
Once a docker image repository will be availabe, the proper deployment order should be under control by docker-compose script
|
|
which should check if the applications are present and if not deploy stable images of Spring Cloud applications from
|
|
docker image repo.
|
|
|
|
|
|
|