Giter Site home page Giter Site logo

iter8-tekton's Introduction

iter8-tekton

Files:

  • init.yaml: create demo(kabanero) namespace and the service for the demo project

  • auth.yaml: create github and dockerhub credential secret

  • eventlistener.yaml: event listener executes simple-pipeline on the github pull request.

  • simple-pipeline.yaml: pipeline executes build, test and deploy.

  • build-task.yaml: task builds the project and push the image to the repository.

  • deploy-task.yaml task deplpys the project deployment

  • create-experiment.yaml: task creates the experiment resource for A/B testing

  • generate-load.yaml: task generates loads to the testing target

  • wait-experiment.yaml: task waits the completion of the A/B testing and generates the results

  • notify.yaml: task sends the result event to the post process event listener

  • dispatch-event.yaml: event listener and pipeline execute the post process tasks

Tasks from tektond/catalog

Sample demo project

Front demo project

pre-condition:

  1. Tekton pipeline, triggers installed
  2. Istio installed
  3. Iter8 installed
  4. Namespace with Istio proxy auto injection enabled created (init.yaml)
  5. One version of the project installed.
  6. Service for the project created (init.yaml)
  7. The front application that sends the requst to the demo porject installed (https://github.com/akihikokuroda/iter8-front)
  8. Tekton resources for this demo (task, pipeline, eventlistener, triggerbindings, triggertemplates) installed
  9. Hooks in the demo github repository created.

Step:

Manual step:

  1. update the app to respond slowly
  2. create a pull request

Event listener execute a pipeline:

  1. pipeline - build/ push app (existing task -pipeline hotel)
  2. pipeline - deploy app (existing task - pipeline hotel)
  3. pipeline - create iter8 experiment (new catalog task)
  4. wait for experiment completion (new catalog task)

Experiment fails:

  1. delete the new deployment (new catalog/sample task)
  2. add comment and change the pull request status (existing catalog task)
  3. send a slack message (existing catalog task)
  4. send an email

Manual:

  1. update the app to respond faster
  2. push the update

Event listener execute a pipeline:

(same as above)

Experiment success:

  1. change the pull request status (existing catalog task)
  2. delete the original deployment (new catalog/sample task)
  3. send a slack message (existing catalog task)
  4. send an email

iter8-tekton's People

Contributors

akihikokuroda 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.