无法使用Travis-ci构build和部署node.js项目 – 找不到Rakefile

我正在尝试在travis-ci中构build一个node.js项目。 这是我的.travis.yml文件:

 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 git@heroku.com:*****.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 

我在开始时得到以下的构build错误:

找不到Rakefile(查找:rakefile,Rakefile,rakefile.rb,Rakefile.rb)

可能是因为我的yml文件有问题,并尝试使用默认的ruby生成器。

我不认为该文件是无效的YML文件,因为我已经在http://yamllint.com/与ymlvalidation器检查它。

我的特拉维斯特定的conf有什么问题?

我的package.json看起来像这样:

 { "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" } } 

编辑:

如果您正在寻找一种方法来使用Travis-CI自动将node.js应用程序部署到Heroku,请查找包含在工作的.travis.yml文件中的答案

您的.travis.yml文件不validation; 你可以在http://lint.travis-ci.org/validation它。

发现与node_js键有关的问题:

检测到不受支持的Node.js版本。 有关支持的Node.js版本的最新列表,请参阅http://bit.ly/travis-ci-environment上的 Travis CI文档

尝试使用0.8.x

出于某种奇怪的原因,我注意到在文件开始处没有之前有一个空格(我发誓:)。 这是导致错误的原因。

奇怪的是,当我将节点版本从0.8更改为0.6 ,validation器没有注意到错误。 也许这是validation器中的一个错误。

无论如何,我还成功地将我的节点应用程序部署到Heroku 。 我没有find关于这个过程(特别是节点)的任何文档,所以我附上.travis.yml文件,为我工作。 请注意,我不必为我的应用程序添加任何testing,没有它就可以正常工作:

 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 git@heroku.com:HEROKU_REPO_HERE.git # Add your Heroku API key: - export HEROKU_API_KEY=ENTER_KEY_HERE # 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 # Download and install Heroku toolbelt locally - wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh # 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 

编辑:

我最近从Travis.ci转到Drone.io。 如果你正在寻找从Github的Heroku自动部署,你应该检查出来,它工作的很好,更容易build立国际海事组织。

https://drone.io/