I am trying to build a node.js
project in travis-ci. this is my .travis.yml
file:
language: node_js
node_js:
- 0.8
after_script:
# Install the Heroku package (or the Heroku toolbelt)
- npm install heroku
# Add your Heroku git repo:
- git remote add heroku [email protected]:*****.git
# Add your Heroku API key:
- export HEROKU_API_KEY=KEYHERE
# Turn off warnings about SSH keys:
- echo "Host heroku.com" >> ~/.ssh/config
- echo " StrictHostKeyChecking no" >> ~/.ssh/config
- echo " CheckHostIP no" >> ~/.ssh/config
- echo " UserKnownHostsFile=/dev/null" >> ~/.ssh/config
# Clear your current Heroku SSH keys:
- heroku keys:clear
# Add a new SSH key to Heroku
- yes | heroku keys:add
# Push to Heroku!
- yes | git push heroku master
I get the following build error right on the beginning:
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
Probably because there's something wrong with my yml file and it tries to use the default ruby builder.
I don't think the file is not valid yml file as I have checked it with yml validator at http://yamllint.com/
Something wrong with my Travis specific conf ?
My package.json
looks like this :
{
"name": "csnc",
"description": "csnc",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "3.x",
"ejs": ">=0.0.0",
"express-partials": ">=0.0.0"
},
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
}
EDIT:
If you are looking for a way to automatically deploy node.js app to Heroku using Travis-CI, look for the answer I included for a working .travis.yml
file
npm test
if you define node_js as language, but you didn't specify in your package.json"scripts" : {"test": "./my_test_script.js" }
. Or what do you expect to be called? – Cookerpackage.json
still didn't help. Travis is still using ruby worker: ruby2.worker.travis-ci.org:ruby-4. Also found this issue with lint.travis-ci : github.com/travis-ci/travis-lint/issues/8 but it was fixed so don't know how to debug this anymore – Coranode_js: 0.8
that work. – Cooker