Lecture: DevOps - application
This repository contains the application that should be used as deployable workload in the exercise implementation.
Getting started
For more information regarding the app, please have a look into its README.
The Makefile
is the main entry point for this repository. It's meant to be used for documentation purposes and local
development/invocation only. The following commands are available:
NOTE:
The Makefile
is solely meant to showcase how to interact with the application and the code base, it is not recommended
to invoke make targets from the CI/CD, but rather use automation-specific interfaces (e.g. Jenkinsfile
, .travis.yml
,
etc.), which would then invoke logic also shown under some make target.
make install-stack
- install technology stack (Nodejs, npm, MongoDB) as prebuild binaries locally within the project
- in order for the application-related targets to pick up these binaries, the
PATH
variable is adjusted and exported for the corresponding target
make install-deps
- install npm dependencies for server and client
make build
- start a local mongo database
make run-db
- start a local mongo database
make run-local
NOTE: it might be desired to start a database first (e.g. make run-db
)
- build client
- start server with development configuration
make test
NOTE: requires MongoDB to be running (e.g. make run-db
)
- run client tests in CI mode (exits regardless of the test outcome; closed tty)
- run server tests in CI mode (exits regardless of the test outcome; closed tty)
make test-client-local
- run client tests
make build
- build client
make clean
- removes all dependencies that were installed locally
- node, npm, mongo
- npm modules for server and client
make start
- start a MongoDB process with an explicit inline-configuration
- start the application process with variables being set only visible to that invocation (as an alternative to the
environment configuration file
app/server/dev.env
) - block terminal to keep it as the output medium. To stop again, send a termination signal via
Ctrl+C