Giter Club home page Giter Club logo

quiz's Introduction

Quiz App

Simple EventSourcing example using .NET Core, React, Docker, Jenkins and K8s.

Docker

Minikube

  • run with minikube

    • Setup minikube

      ./k8s/hack/setupkube.sh

    • Setup dnsmasq (optional)

      sudo INGRESS_DOMAIN=quiz.internal ./k8s/hack/setupdns.sh

      Notes: For automatic dns wilcards resolution use dnsmasq

    • Install jenkins and quiz app

      • Export the following environment variables:

        export INGRESS_DOMAIN='quiz.internal'
        export QUIZ_ENVIRONMENT='production'
        export TAG_BRANCH=master
        export REGISTRY=localhost:30400
        export TAG=latest
        
        export JENKINS_PASSWORD=changeit
        export GITHUB_REPO=netcorebcn/quiz
        export GITHUB_USER=mygithubuser
        export GITHUB_TOKEN='<TOKEN>'
      • Execute ./k8s/hack/install.sh

      • Add ingress hosts to local host file (only if dnsmasq is not setup)

        echo $(minikube ip) {jenkins,rabbit,registry}.quiz.internal quiz.internal | sudo tee -a /etc/hosts

      • Open http://jenkins.quiz.internal/job/quiz/ and Build!

      • Once its build Open http://quiz.internal and http://quiz.internal?results

      • Github integration for Pull Request workflow

        ./ngrok http jenkins.quiz.internal:80 -host-header=jenkins.quiz.internal

    Setup script example

    You can use full example setup with ngrok and dnsmasq integration: ./k8s/hack/setup.sh, it requires to store the enviroment variables in a secrets file.

Notes

Some slides on the process here: https://www.slideshare.net/PauLpez3/built-in-cicd-with-kubernetes-jenkins-and-helm

We aren't starting from the scratch. We are using ideas and code from other awesome repos.

quiz's People

Contributors

dmitry-zaets avatar paulopez78 avatar unclefirefox avatar

Watchers

 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.