Como fazer deploy de apps Ember CLI pro Heroku

Usamos Heroku em todas as apps que desenvolvemos aqui no Startaê. A facilidade do deploy nos permite focar no que é importante e no que sabemos fazer melhor, desenvolver o produto.

Nosso stack geralmente é Ruby (Rails, Middleman e até Sinatra), mas ultimamente temos nos aventurado no stack Javascript. Temos usado Ember em alguns de nossos projetos e para criar as apps usamos Ember CLI.

Neste post, vamos ver como unir o útil ao agradável, fazer o deploy de apps Ember CLI pro Heroku.

  1. Crie um arquivo chamado Procfile na pasta raiz do projeto e adicione a seguinte linha:

    web: npm run start
    
  2. Abra o arquivo package.json e procure pelo bloco scripts. Adicione a constante PORT do Heroku ao script de start e adicione também um atributo novo chamado postinstall para rodar o bower durante o deploy.

    ...
    "scripts": {
      "start": "ember serve --port=${PORT}",
      "build": "ember build",
      "test": "ember test",
      "postinstall": "./node_modules/bower/bin/bower install"
    },
    ...
    
  3. Ainda no package.json, renomeie o bloco devDependencies para dependencies e adicione o bower a ele.

    Você ainda deve manter o ember-cli no seu devDependencies porque é assim que o ember detecta que sua app é uma app Ember CLI. Se ele não estiver lá, o erro “You have to be inside an ember-cli project in order to use the serve command” aparecerá.

    Seus blocos de dependências devem parecer com o código abaixo:

    ...
    "dependencies": {
      "bower": "1.4.1",
      "broccoli-asset-rev": "^2.0.2",
      "ember-cli": "0.2.3",
      "ember-cli-app-version": "0.3.3",
      ...
    },
    "devDependencies": {
      "ember-cli": "0.2.3",
    }
    
  4. Commite suas mudanças, crie uma app no Heroku e deixe que ele cuide do resto.

    $ git add .
    $ git commit -am "Configure app to work on Heroku"
    $ heroku create
    $ git push heroku master
    $ heroku open
    

Sobre o autor

Rômulo Machado

Desenvolvedor Rails e frontend. Programa por diversão e ainda paga as contas com isso. É movido pelo mantra "make it run, make it right and make it fast".

Compartilhar esse post

    

Receba novidades da Superquadra no seu email