Code Monkey home page Code Monkey logo

lecture-devops-app's Introduction

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

lecture-devops-app's People

Contributors

derneuere avatar lucendio avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.