ind1go / bluemix-buildpack-meteor

Meteor on Bluemix.
MIT License
9 stars 24 forks source link

Failed push to bluemix #8

Closed hellobrian closed 9 years ago

hellobrian commented 9 years ago

Hello! Just tried to push to Bluemix with this buildpack but it didn't end up working. Here's a link to the repo with the meteor app I tried to push: https://github.com/thisisbrianhan/leaderboard-example

Here's the command I used to push:

cf push brian-leaderboard -b https://github.com/ind1go/bluemix-buildpack-meteor.git -m 128m

Here's some of the output I got while it was trying to build and deploy:

Updating app brian-leaderboard in org bthan@us.ibm.com / space dev as bthan@us.ibm.com...
OK

Uploading brian-leaderboard...
Uploading app files from: /Users/brianhan/brian-dev/meteor/leaderboard
Uploading 2.8M, 264 files
OK

Stopping app brian-leaderboard in org bthan@us.ibm.com / space dev as bthan@us.ibm.com...
OK

Starting app brian-leaderboard in org bthan@us.ibm.com / space dev as bthan@us.ibm.com...
OK
-----> Downloaded app package (2.7M)
-----> Downloaded app buildpack cache (4.0K)
Cloning into '/tmp/buildpacks/bluemix-buildpack-meteor'...
-----> Resolving engine versions
       No version of Node.js specified in nodeversion, using '0.10.33'
       Using Node.js version: 0.10.33
-----> Fetching Node.js binaries
        - downloading and extracting node from http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz
       Installing meteor
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6121    0  6121    0     0  16004      0 --:--:-- --:--:-- --:--:-- 32215
Downloading Meteor distribution
Dropped log message: message too long (>64K without a newline)
...
Meteor 1.0.3.1 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for your convenience.
This may prompt for your password.
sudo: no tty present and no askpass program specified
Couldn't write the launcher script. Please either:
  (1) Run the following as root:
        cp "/tmp/node-meteor-hFrh/.meteor/packages/meteor-tool/1.0.40/meteor-tool-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor
  (2) Add "$HOME/.meteor" to your path, or
  (3) Rerun this command to try again.
Then to get started, take a look at 'meteor --help' or see the docs at
docs.meteor.com.
       Meteor installed
       Building meteor bundle

Here's the error message that I got at the end:

FAILED
Server error, status code: 400, error code: 170004, message: App staging failed in the buildpack compile phase

Would love to know if there's anything I can do to change with how I'm deploying this meteor app.

Cheers

sjmcdowall commented 9 years ago

Not that I am the expert by any means, but what does the “cf logs brian-leaderboard —recent” indicate?

Anything of interest?

On Feb 23, 2015, at 9:28 PM, Brian Han notifications@github.com wrote:

Hello! Just tried to push to Bluemix with this buildpack but it didn't end up working. Here's a link to the repo with the meteor app I tried to push: https://github.com/thisisbrianhan/leaderboard-example https://github.com/thisisbrianhan/leaderboard-example Here's the command I used to push:

cf push brian-leaderboard -b https://github.com/ind1go/bluemix-buildpack-meteor.git -m 128m Here's some of the output I got while it was trying to build and deploy:

Updating app brian-leaderboard in org bthan@us.ibm.com / space dev as bthan@us.ibm.com... OK

Uploading brian-leaderboard... Uploading app files from: /Users/brianhan/brian-dev/meteor/leaderboard Uploading 2.8M, 264 files OK

Stopping app brian-leaderboard in org bthan@us.ibm.com / space dev as bthan@us.ibm.com... OK

Starting app brian-leaderboard in org bthan@us.ibm.com / space dev as bthan@us.ibm.com... OK -----> Downloaded app package (2.7M) -----> Downloaded app buildpack cache (4.0K) Cloning into '/tmp/buildpacks/bluemix-buildpack-meteor'... -----> Resolving engine versions No version of Node.js specified in nodeversion, using '0.10.33' Using Node.js version: 0.10.33 -----> Fetching Node.js binaries

  • downloading and extracting node from http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz Installing meteor % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 6121 0 6121 0 0 16004 0 --:--:-- --:--:-- --:--:-- 32215 Downloading Meteor distribution Dropped log message: message too long (>64K without a newline) ... Meteor 1.0.3.1 has been installed in your home directory (~/.meteor). Writing a launcher script to /usr/local/bin/meteor for your convenience. This may prompt for your password. sudo: no tty present and no askpass program specified Couldn't write the launcher script. Please either: (1) Run the following as root: cp "/tmp/node-meteor-hFrh/.meteor/packages/meteor-tool/1.0.40/meteor-tool-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor (2) Add "$HOME/.meteor" to your path, or (3) Rerun this command to try again. Then to get started, take a look at 'meteor --help' or see the docs at docs.meteor.com. Meteor installed Building meteor bundle Here's the error message that I got at the end:

FAILED Server error, status code: 400, error code: 170004, message: App staging failed in the buildpack compile phase Would love to know if there's anything I can do to change with how I'm deploying this meteor app.

Cheers

— Reply to this email directly or view it on GitHub https://github.com/ind1go/bluemix-buildpack-meteor/issues/8.

ind1go commented 9 years ago

Thanks for trying, @thisisbrianhan - and I think the examples will be a good test-bed for the buildpack! I gave it a try myself and ran cf logs in a different terminal (it gives slightly different/more detailed information) and get the following:

...
[STG/0]      OUT        Meteor installed
[STG/0]      OUT        Building meteor bundle
[STG/0]      OUT        Supply the server hostname and port in the --server option
[STG/0]      OUT        Installing meteor bundle
[STG/0]      ERR /tmp/buildpacks/bluemix-buildpack-meteor/bin/compile: line 124: cd: /tmp/staged/app/.meteor/meteor_build/app/bundle/programs/server: No such file or directory
[STG/0]      OUT Staging failed: Buildpack compilation step failed
[API/1]      ERR Encountered error: App staging failed in the buildpack compile phase

I'll take a further look into how and why that directory isn't being built.

ind1go commented 9 years ago

Right, interestingly, when building locally, I need to specify the --server option because the project is intended for Android and iOS in addition to server and browser (it's specified in .meteor/platforms). Locally, this just gives me the message:

Supply the server hostname and port in the --server option
for mobile app builds.

Which is of course not the same message as we're seeing! Perhaps some logs are being swallowed from the meteor build step. I'm trying removing those platforms and re-pushing...

OK, that worked. So the meteor build step needs to produce the --server option... or possibly it just needs to not build the ios and android platforms. But I can't see a way to remove the building of ios and android, unless it's to do some manipulation of the platforms file.

ind1go commented 9 years ago

I've not really strayed into Meteor for iOS and Android platforms, so I'm trying to work out... does not building for iOS and Android make sense? I.e. it's just the client-side (APK, and whatever it is for iOS) that gets built in addition?

ind1go commented 9 years ago

OK @thisisbrianhan, I've committed a change to avoid building mobile. Want to give it a try? It's at master. Also, Github fail, forgot to associate the commit here...

sjmcdowall commented 9 years ago

Any chance someone can help me (point me) to how to debug why my Meteor app just doesn’t appear to run after it’s all said and done?

I’ve run cf logs on a separate console when I did the cf push .. but it looks like it “worked” but the app just isn’t doing anything and I can’t figure out how to see what is going on.. I.e. how to get something useful out of CF to give me a hint as to why it’s not working..

Sorry to be such a newbie — but CF / Bluemix is like a giant black box ..

Here is the output from the cf logs …

TIA!

/Steve

2015-02-24T09:12:33.75-0500 [API/0] OUT Updated app with guid 6710b001-87ee-469a-b7fd-7fb8730042b6 ({"name"=>"RTSDash", "command"=>"PRIVATE DATA HIDDEN", "instances"=>1, "memory"=>256, "disk_quota"=>512, "buildpack"=>"https://github.com/ind1go/bluemix-buildpack-meteor.git", "environment_json"=>"PRIVATE DATA HIDDEN", "health_check_timeout"=>80}) 2015-02-24T09:12:44.69-0500 [API/10] OUT Updated app with guid 6710b001-87ee-469a-b7fd-7fb8730042b6 ({"state"=>"STOPPED"}) 2015-02-24T09:12:46.71-0500 [DEA/102] OUT Got staging request for app with id 6710b001-87ee-469a-b7fd-7fb8730042b6 2015-02-24T09:13:03.28-0500 [STG/102] OUT -----> Downloaded app package (12K) 2015-02-24T09:13:03.45-0500 [STG/102] OUT -----> Downloaded app buildpack cache (4.0K) 2015-02-24T09:13:03.66-0500 [STG/0] ERR Cloning into '/tmp/buildpacks/bluemix-buildpack-meteor'... 2015-02-24T09:13:04.28-0500 [STG/0] OUT -----> Resolving engine versions 2015-02-24T09:13:04.29-0500 [STG/0] OUT No version of Node.js specified in nodeversion, using '0.10.33' 2015-02-24T09:13:04.60-0500 [STG/0] OUT Using Node.js version: 0.10.33 2015-02-24T09:13:16.99-0500 [STG/0] OUT Installing meteor 2015-02-24T09:13:17.34-0500 [STG/0] ERR % Total % Received % Xferd Average Speed Time Time Time Current 2015-02-24T09:13:17.34-0500 [STG/0] ERR Dload Upload Total Spent Left Speed 100 6121 0 6121 0 0 13377 0 --:--:-- --:--:-- --:--:-- 46371 2015-02-24T09:13:18.00-0500 [STG/0] ERR Downloading Meteor distribution 2015-02-24T09:13:21.53-0500 [STG/0] ERR Dropped log message: message too long (>64K without a newline) 2015-02-24T09:13:24.26-0500 [STG/0] ERR Dropped log message: message too long (>64K without a newline) 2015-02-24T09:13:26.35-0500 [STG/0] ERR Dropped log message: message too long (>64K without a newline) 2015-02-24T09:13:28.08-0500 [STG/0] ERR Dropped log message: message too long (>64K without a newline) 2015-02-24T09:13:31.80-0500 [STG/0] ERR Dropped log message: message too long (>64K without a newline) ######################################################################## 100.0% 88.5% 2015-02-24T09:13:35.05-0500 [STG/0] ERR Meteor 1.0.3.1 has been installed in your home directory (~/.meteor). 2015-02-24T09:13:35.06-0500 [STG/0] ERR Writing a launcher script to /usr/local/bin/meteor for your convenience. 2015-02-24T09:13:35.06-0500 [STG/0] ERR This may prompt for your password. 2015-02-24T09:13:35.11-0500 [STG/0] ERR sudo: no tty present and no askpass program specified 2015-02-24T09:13:35.12-0500 [STG/0] ERR Couldn't write the launcher script. Please either: 2015-02-24T09:13:35.12-0500 [STG/0] ERR (1) Run the following as root: 2015-02-24T09:13:35.12-0500 [STG/0] ERR cp "/tmp/node-meteor-ahFZ/.meteor/packages/meteor-tool/1.0.40/meteor-tool-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor 2015-02-24T09:13:35.12-0500 [STG/0] ERR (2) Add "$HOME/.meteor" to your path, or 2015-02-24T09:13:35.12-0500 [STG/0] ERR (3) Rerun this command to try again. 2015-02-24T09:13:35.12-0500 [STG/0] ERR Then to get started, take a look at 'meteor --help' or see the docs at 2015-02-24T09:13:35.12-0500 [STG/0] ERR docs.meteor.com. 2015-02-24T09:13:35.13-0500 [STG/0] OUT Meteor installed 2015-02-24T09:13:40.78-0500 [STG/0] OUT WARNING: The output directory is under your source tree. 2015-02-24T09:13:54.24-0500 [STG/0] OUT Installing meteor bundle 2015-02-24T09:13:54.90-0500 [STG/0] OUT npm WARN package.json meteor-dev-bundle@0.0.0 No description 2015-02-24T09:13:54.90-0500 [STG/0] OUT npm WARN package.json meteor-dev-bundle@0.0.0 No repository field. 2015-02-24T09:13:54.90-0500 [STG/0] OUT npm WARN package.json meteor-dev-bundle@0.0.0 No README data 2015-02-24T09:13:56.64-0500 [STG/0] OUT > fibers@1.0.1 install /tmp/staged/app/.meteor/meteor_build/app/bundle/programs/server/node_modules/fibers 2015-02-24T09:13:56.64-0500 [STG/0] OUT > node ./build.js 2015-02-24T09:13:56.86-0500 [STG/0] OUT Binary is fine; exiting 2015-02-24T09:13:56.91-0500 [STG/0] OUT underscore@1.5.2 node_modules/underscore 2015-02-24T09:13:56.91-0500 [STG/0] OUT semver@4.1.0 node_modules/semver 2015-02-24T09:13:56.91-0500 [STG/0] OUT eachline@2.3.3 node_modules/eachline 2015-02-24T09:13:56.91-0500 [STG/0] OUT chalk@0.5.1 node_modules/chalk 2015-02-24T09:13:56.91-0500 [STG/0] OUT ├── ansi-styles@1.1.0 2015-02-24T09:13:56.91-0500 [STG/0] OUT ├── escape-string-regexp@1.0.3 2015-02-24T09:13:56.91-0500 [STG/0] OUT ├── supports-color@0.2.0 2015-02-24T09:13:56.91-0500 [STG/0] OUT ├── strip-ansi@0.3.0 (ansi-regex@0.2.1) 2015-02-24T09:13:56.91-0500 [STG/0] OUT └── has-ansi@0.1.0 (ansi-regex@0.2.1) 2015-02-24T09:13:56.91-0500 [STG/0] OUT source-map-support@0.2.8 node_modules/source-map-support 2015-02-24T09:13:56.91-0500 [STG/0] OUT └── source-map@0.1.32 (amdefine@0.1.0) 2015-02-24T09:13:56.91-0500 [STG/0] OUT fibers@1.0.1 node_modules/fibers 2015-02-24T09:13:56.97-0500 [STG/0] OUT Setting up MONGO_URL in .profile.d 2015-02-24T09:13:56.97-0500 [STG/0] OUT Looking for a service labelled "mongolab" in the following $VCAP_SERVICES... 2015-02-24T09:13:56.97-0500 [STG/0] OUT {"mongolab":[{"name":"mongo100","label":"mongolab","tags":["Data Stores","Development Tools","Infrastructure","Service","data_management","ibm_third_party"],"plan":"sandbox","credentials":{"uri":"mongodb://IbmCloud_t7vtsm40_icer83ci_84k4gkco:lHAa5aZ5utvf6HOA4DASMlgKKRF_rsEM@ds035760.mongolab.com:35760/IbmCloud_t7vtsm40_icer83ci"}}]} 2015-02-24T09:13:57.06-0500 [STG/0] OUT #!/bin/sh 2015-02-24T09:13:57.06-0500 [STG/0] OUT export ROOT_URL=${ROOT_URL:-http://gxs-rtsdash.mybluemix.net} 2015-02-24T09:13:57.06-0500 [STG/0] OUT export MONGO_URL=${MONGO_URL:-mongodb://IbmCloud_t7vtsm40_icer83ci_84k4gkco:lHAa5aZ5utvf6HOA4DASMlgKKRF_rsEM@ds035760.mongolab.com:35760/IbmCloud_t7vtsm40_icer83ci} 2015-02-24T09:13:57.06-0500 [STG/0] OUT export 2015-02-24T09:13:57.06-0500 [STG/0] OUT -----> Vendoring node into slug 2015-02-24T09:13:59.82-0500 [STG/102] OUT -----> Uploading droplet (7.7M) 2015-02-24T09:14:03.95-0500 [DEA/102] OUT Starting app instance (index 0) with guid 6710b001-87ee-469a-b7fd-7fb8730042b6 2015-02-24T09:14:21.84-0500 [API/4] OUT App instance exited with guid 6710b001-87ee-469a-b7fd-7fb8730042b6 payload: {"cc_partition"=>"default", "droplet"=>"6710b001-87ee-469a-b7fd-7fb8730042b6", "version"=>"5b972dfb-f4ef-4ec0-bd72-52944f2e3a01", "instance"=>"ac0c4837bd944da3ba73ccbf5a909fa1", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1424787261} 2015-02-24T09:14:21.85-0500 [API/2] OUT App instance exited with guid 6710b001-87ee-469a-b7fd-7fb8730042b6 payload: {"cc_partition"=>"default", "droplet"=>"6710b001-87ee-469a-b7fd-7fb8730042b6", "version"=>"5b972dfb-f4ef-4ec0-bd72-52944f2e3a01", "instance"=>"ac0c4837bd944da3ba73ccbf5a909fa1", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1424787261} 2015-02-24T09:15:00.64-0500 [DEA/93] OUT Starting app instance (index 0) with guid 6710b001-87ee-469a-b7fd-7fb8730042b6

ind1go commented 9 years ago

@sjmcdowall Hmm, I'm not sure about this one at all, I'm afraid. Do you want to raise it as a separate issue and we'll leave this one to Brian's problem, to keep some clarity?

sjmcdowall commented 9 years ago

Well yes, that makes sense.. Sorry — didn’t mean to usurp the thread :)

On Feb 24, 2015, at 9:41 AM, Ben Cox notifications@github.com wrote:

@sjmcdowall https://github.com/sjmcdowall Hmm, I'm not sure about this one at all, I'm afraid. Do you want to raise it as a separate issue and we'll leave this one to Brian's problem, to keep some clarity?

— Reply to this email directly or view it on GitHub https://github.com/ind1go/bluemix-buildpack-meteor/issues/8#issuecomment-75768099.

dwoodiwiss commented 9 years ago

Just reporting a similar issue when deploying: https://github.com/DiscoverMeteor/Microscope Output:

~/Projects/Microscope(branch:master) » cf push micro-meteor -b https://github.com/ind1go/bluemix-buildpack-meteor.git                                                                      Darren@darrens-mbp
Creating app micro-meteor in org darrenwoodiwiss@uk.ibm.com / space dev as darrenwoodiwiss@uk.ibm.com...
OK

Creating route micro-meteor.mybluemix.net...
OK

Binding micro-meteor.mybluemix.net to micro-meteor...
OK

Uploading micro-meteor...
Uploading app files from: /Users/Darren/Projects/Microscope
Uploading 38.4K, 61 files
OK

Starting app micro-meteor in org darrenwoodiwiss@uk.ibm.com / space dev as darrenwoodiwiss@uk.ibm.com...
OK
-----> Downloaded app package (24K)
-----> Resolving engine versions
       No version of Node.js specified in nodeversion, using '0.10.33'
       Using Node.js version: 0.10.33
-----> Fetching Node.js binaries
        - downloading and extracting node from http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz
Cloning into '/tmp/buildpacks/bluemix-buildpack-meteor'...
       Installing meteor
######################################################################## 100.0%
Downloading Meteor distribution
Dropped log message: message too long (>64K without a newline)
Dropped log message: message too long (>64K without a newline)
Dropped log message: message too long (>64K without a newline)
Dropped log message: message too long (>64K without a newline)
Dropped log message: message too long (>64K without a newline)
######################################################################## 100.0%
Meteor 1.0.3.1 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for your convenience.
This may prompt for your password.
sudo: no tty present and no askpass program specified
Couldn't write the launcher script. Please either:
  (1) Run the following as root:
        cp "/tmp/node-meteor-jhdy/.meteor/packages/meteor-tool/1.0.40/meteor-tool-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor
  (2) Add "$HOME/.meteor" to your path, or
  (3) Rerun this command to try again.
Then to get started, take a look at 'meteor --help' or see the docs at
docs.meteor.com.
       Meteor installed
Ignoring build of mobile platforms
       Building meteor bundle
       Changes to your project's package version selections:
       ian:accounts-ui-bootstrap-3  downgraded from 1.2.26 to 1.2.20
       twbs:bootstrap               downgraded from 3.3.2 to 3.3.1_2
       WARNING: The output directory is under your source tree.
       Installing meteor bundle
       npm WARN package.json meteor-dev-bundle@0.0.0 No description
       npm WARN package.json meteor-dev-bundle@0.0.0 No repository field.
       npm WARN package.json meteor-dev-bundle@0.0.0 No README data
       > fibers@1.0.1 install /tmp/staged/app/.meteor/meteor_build/app/bundle/programs/server/node_modules/fibers
       > node ./build.js
       `linux-x64-v8-3.14` exists; testing
       Binary is fine; exiting
       underscore@1.5.2 node_modules/underscore
       semver@4.1.0 node_modules/semver
       eachline@2.3.3 node_modules/eachline
       └── type-of@2.0.1
       chalk@0.5.1 node_modules/chalk
       ├── ansi-styles@1.1.0
       ├── escape-string-regexp@1.0.3
       ├── supports-color@0.2.0
       ├── has-ansi@0.1.0 (ansi-regex@0.2.1)
       └── strip-ansi@0.3.0 (ansi-regex@0.2.1)
       source-map-support@0.2.8 node_modules/source-map-support
       └── source-map@0.1.32 (amdefine@0.1.0)
       fibers@1.0.1 node_modules/fibers
Setting up MONGO_URL in .profile.d
Looking for a service labelled "mongolab" in the following $VCAP_SERVICES...
{}
-e:1:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)
  #!/bin/sh
  export ROOT_URL=${ROOT_URL:-http://micro-meteor.mybluemix.net}
  export MONGO_URL=${MONGO_URL:-}
  export
-----> Vendoring node into slug
-----> Uploading droplet (8.2M)

0 of 1 instances running, 1 starting
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
ind1go commented 9 years ago

@dwoodiwiss It doesn't look like you've got a MongoLab service bound to the application. I think all Meteor apps will need a Mongo URL, so the checking on this could be more explicit and give you a better error in the logs. Note it needs to be MongoLab, not mongodb - the mongodb service is community-led, buggy, and may go away soon (I had to raise a ticket to get my mongodb service reset as it was stuck, and that's when I was told this).

To bind, you can either:

services:
   - SERVICE_INSTANCE

The SERVICE_INSTANCE will typically be called MongoLab-xx.

dwoodiwiss commented 9 years ago

@ind1go Incredibly slow reply - But thanks Ben, that appeared to be the issue :+1: