42¢ glxn.net

Deploy an Ember app to gh-pages using npm run-script

I just recently started playing around with an app using Ember.js. If you are not familiar with Ember.js you should check it out, it is a pretty awesome stack.

My app does not have its own backend, but makes use of publicly available APIs. Because of this I can host it on gh-pages while I get it up and running.

NOTE: This should not be used for production usage, as it may be in conflict with the github TOS.

Anyway, the setup is pretty simple.

First make the production configuration use basePath that the repo will be hosted under. In environment.js:

if (environment === 'production') {
  ENV.baseURL = '/repository_name/';
}

Then add a deploy-gh to package.json scripts:

"scripts": {
  "start": "ember server",
  "build": "ember build",
  "test": "ember test",
  "deploy-gh": "./deploy-gh.sh"
},

And make the deploy-gh.sh:

#!/bin/bash

set -e
git checkout gh-pages
git merge master -m "merge master and prepare to deploy"
ember build --environment production
git add dist --force
git commit -m "deploy to gh-pages"
git subtree push --prefix dist origin gh-pages
git checkout master

also remember:

chmod +x deploy-gh.sh

At this point just commit changes on master and with a clean working tree do:

npm run-script deploy-gh
comment on this post

Moar stuffs

07 Jun 2015 » Deploy an Ember app to gh-pages using npm run-script
06 Jun 2015 » JSON Contract testing using unit tests to assert full stack integration across REST services
03 May 2015 » simple http serve a directory from terminal
07 Jan 2014 » civu, a CLI for cloning git repositories from jenkins views
06 Jan 2014 » PyramidSort, a Sublime Text plugin for for reformatting text
05 Jan 2014 » Git commit-message hook for JIRA issue tags
31 May 2013 » hacking kitchen tiles with coffeescript
30 May 2013 » Nuke, ps grep kill something
24 May 2013 » mvnr: recursive mvn command runner
23 May 2013 » Query By Example for JPA
22 May 2013 » gitr: recursive git command runner
21 May 2013 » Keeping gh-pages branch in sync with master
19 May 2013 » Migrated from wordpress to jekyll and github pages
14 Aug 2012 » Using Sublime Text 2 as git commit message editor
10 Mar 2012 » QRGen, a small wrapper on top of ZXING for generating QRCodes in java
04 Jan 2012 » My Bash PS1 with git branch info
17 Aug 2010 » Making a swing project using IntelliJ IDEA GUI builder with maven, Including executable jar
01 May 2010 » Using Arquillian to test against a remote jboss container from within IDEA
06 Apr 2010 » WELD/CDI lightningtalk from Know IT 2010 annual conference
03 Apr 2010 » Solving Sudoku using java swing and junit
01 Mar 2010 » Simple CDI/WELD login example
01 Mar 2010 » Implementing @RequestParam in CDI/WELD using Qualifier and InjectionPoint as @HttpParam
01 Nov 2009 » Seam Maven Refimpl