TBR: Add location of node/npm to PATH when VANADIUM_ROOT exists.

Change-Id: I133204e5e0e05789f4ff519c09d1a55ba13d17b4
1 file changed
tree: 3688c5b2ca96356d91536bbcd8b4eea20e8b197e
  1. clients/
  2. markdown/
  3. tools/
  4. .gitignore
  5. .jshintignore
  6. .jshintrc
  7. Makefile
  8. package.json
  9. README.md
  10. server.js
README.md

Chat app

Links

Clients

We provide a web client and a shell client. See their respective README.md files for usage and development instructions.

Notes

To glob the local mounttable:

$VEYRON_ROOT/veyron/go/bin/mounttable glob /:4001 '*'
$VEYRON_ROOT/veyron/go/bin/mounttable glob /:4001/apps/chat/public '*'

To glob the proxy.envyor.com mounttable:

$VEYRON_ROOT/veyron/go/bin/mounttable glob /proxy.envyor.com:8101 '*'

Prerequisites

You will need Go 1.4, Git, Mercurial, and make to build the shell client and dependencies.

In addition, you will need Node.js and npm to build the web client, and Chrome to run the client and the tests.

Deployment

TODO(nlacasse): Update this with the new deployment setup once we have one.

The chat application consists of a set of static files hosted on the “v-www” GCE instance. Deployment is as simple as pushing to a remote branch on the instance. A git post-receive hook on the instance then builds the assets and makes them available over http.

First-time setup

You must add your public key to the git user's “authorized_keys”. This will allow you to push to the git repo on that machine.

From the Developers Console on GCE, ssh into the v-www instance and run:

sudo su git
cat >> ~/.ssh/authorized_keys

Paste your ssh public key (commonly in ~/.ssh/id_rsa.pub), and then hit Enter followed by Ctrl-D.

You may now log out from the instance.

Next, from your local git repository, add a new remote reference to the staging GCE instance.

git remote add staging git@staging.v.io:chat.git

Deploy

Build and deploy the web assets to staging:

./tools/deploy.sh web

Build and deploy the shell client binaries to staging:

./tools/deploy.sh shell

Build and deploy everything to staging:

./tools/deploy.sh all

Release

Cutting a release does a deploy, and if the deploy is successful, tags the current commit with the version and pushes it to the veyron remote.

Make sure you have added the veyron remote.

git remote add veyron git@github.com:veyron/chat.git

Run the release.sh script with the desired version. Version must be of the form “v1.2.3”.

./tools/release.sh <version>