Giter Site home page Giter Site logo

dshaneg / double-tap Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 220 KB

Proof of concept for creating a "workspace" container to be published along with the application's main container

License: MIT License

Dockerfile 34.60% Makefile 23.45% Shell 27.82% JavaScript 14.13%
poc docker

double-tap's Introduction

double tap

Proof of concept for creating a "workspace" container to be published along with the application's main container.

The workspace container can be used to run deploy and test scripts against the main container.

To Do

  • proper smoke test (there's a dummy in place now)
  • proper automated acceptance tests on a running container
  • automated rollback if smoke fails
  • delete deployment for volatile stages (aat, etc)
  • include non-helm deployment steps (e.g. s3 bucket)
  • alternate example with pieces fully broken apart into separate repos
    • app
    • chart
    • config/deploy?

Building the application

make build

Running the application locally (not in k8s)

Once built, you can run the application in the container.

make run

This will start the application and leave the container running in the background. You'll have to stop it before you can run it again.

make kill

Publishing the docker images

On a build server, need to set environment variable APP_VERSION to a valid semantic version value. This will become the tag of the docker image as well as the version of the helm chart.

If the APP_VERSION variable is not set (as when running the build locally), the build will use version 0.0.0, and 'latest' for the docker image tag.

make publish

Deploying the application

A build server should have the APP_VERSION environment variable set as for the Publish step.

On a build server, you need to make sure the environment variable STAGE is set to a value that matches one of the filenames in the config folder, excluding the suffix: (e.g. cert, local, prod).

Both variables use default values if not set, but any automation should explicitly set values for these variables--the defaults are intended for local development.

BE CAREFUL when running this step locally if you have kubernetes credentials to any higher environment clusters (like production). Make sure your current context is set to a local or dev cluster. The process copies your kube config into the deploy container and lets it fly.

make deploy

double-tap's People

Contributors

dshaneg avatar melmalkygs avatar

Watchers

James Cloos avatar  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.