Giter Site home page Giter Site logo

express-lightning-deploy's Introduction

Express Lightning Deploy

This repo contains a very simple NodeJS implementation of the "Ember Lightning Deploy Strategy" server made famous by Luke Melia. The original talk discussing the strategy can be found here: https://www.youtube.com/watch?v=QZVYP3cPcWQ

Why

If you don't know about the changes in Ember Cli Deploy take a look at https://www.youtube.com/watch?v=fcSL5poJ1gQ where Luke Melia and Aaron Chambers lay out the improvements they have made to the Ember deployment pipeline.

This project is supposed to be a bare minimum implementation, with very few bells and whistles, of the server-side component of the lightning strategy.

Quick Start

Clone this repo git clone [email protected]:stonecircle/express-lightning-deploy.git run npm install and then npm start.

You now have a running lightning deploy server (NODE_ENV is set to development) listening on port 3800 and serving the lightning app index prefix lightning-app, which means that your current active index file can be found with this Redis key: lightning-app:index:current.

Revisions

This app supports custom revisions for your lightning-deploy app ๐ŸŽ‰ to see a list of the current revisions go to http://localhost:3800/revisions and click the revision you want to see. It will then bring you to http://localhost:3800/?revision=bcda77d8e2357c7d4d707baa452a64ca and ship you the corresponding index.html file.

Overriding the Default Settings

This app uses nconf, it's not important to know the workings of nconf to be able to override the settings. If you are running a development server (NODE_ENV set to development) you just need to create a file settings/development.json with the settings that you want to override. Here is an example settings file:

{
  "server": {
    "runPort": 4484
  },

  "lightning": {
    "appName": "my-super-app"
  }
}

Running in production

using npm start starts a pm2 hosted server with NODE_ENV set to development. If you want to run a production server you can just run NODE_ENV=production pm2 start app.js --name my-super-app-name. Note that when running in production the settings file that can override default settings is settings/production.json

express-lightning-deploy's People

Contributors

mansona avatar

Stargazers

JamesLinus avatar Mani Ka avatar Darragh O'Keeffe avatar Timmy O'Mahony avatar Mario Gintili avatar  avatar Sjoerd de Jong avatar Steve Tyler avatar  avatar Andrew Smith avatar

Watchers

Darragh O'Keeffe avatar  avatar  avatar

express-lightning-deploy's Issues

Add a license

@mansona This is great work and is a very useful example for me. Would it be possible add a license to the repo?

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.