Skip navigation.

Pas Apicella

Syndicate content
Information on IBM Bluemix - Cloud platform for developers to rapidly build, manage and run web and mobile applicationsPas Apicellahttp://www.blogger.com/profile/09389663166398991762noreply@blogger.comBlogger302125
Updated: 6 hours 7 sec ago

Bluemix - Adding a Spring Boot application to IBM Bluemix DevOps project

Wed, 2015-06-10 00:15
I have a few Spring Boot applications which I would like to add to my IBM DevOps Jazzhub projects. The following shows how to do this.

Note: It's assumed you have the following to do this.
  • Jazzhub DevOps account. https://hub.jazz.net/
  • Existing Spring Boot application project
  • Git client installed
1. Log into Jazz Hub using the URL below.

https://hub.jazz.net/

2. Create a new project using the "+ Create Project" button




3. Call it BluemixSpringBootJPA, of course you can call your project whatever you like.

4. Click the "Create a New Repository"



5. Select "Create a Git Repo on Bluemix"



Now go to the file system where your project exists and start the process to add it to GIT locally
and finally push it to the remote git url we created above

pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git init
Initialized empty Git repository in /Users/pas/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA/.git/

pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git add .

pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git commit -m 'First commit'
[master (root-commit) 332755e] First commit
 35 files changed, 866 insertions(+)
 create mode 100644 README.md
 create mode 100644 manifest.yml
 create mode 100644 pom.xml
 create mode 100644 src/main/java/pas/cloud/webapp/ApplesCfDemoApplication.java
 create mode 100644 src/main/java/pas/cloud/webapp/DataSourceConfiguration.java
 create mode 100644 src/main/java/pas/cloud/webapp/controllers/AlbumController.java
 create mode 100644 src/main/java/pas/cloud/webapp/controllers/WelcomeController.java
 create mode 100644 src/main/java/pas/cloud/webapp/domain/Album.java
 create mode 100644 src/main/java/pas/cloud/webapp/domain/ApplicationInfo.java
 create mode 100644 src/main/java/pas/cloud/webapp/domain/RandomIdGenerator.java
 create mode 100644 src/main/java/pas/cloud/webapp/repositories/JpaAlbumRepository.java
 create mode 100644 src/main/resources/application.properties
 create mode 100644 src/main/resources/data.sql
 create mode 100644 src/main/resources/messages_en.properties
 create mode 100644 src/main/resources/static/images/Create.png
 create mode 100755 src/main/resources/static/images/Execute.png
 create mode 100644 src/main/resources/static/images/PoweredByPivotal1.png
 create mode 100755 src/main/resources/static/images/Search.png
 create mode 100755 src/main/resources/static/images/add16.gif
 create mode 100755 src/main/resources/static/images/b_drop.png
 create mode 100644 src/main/resources/static/images/b_home.png
 create mode 100644 src/main/resources/static/images/b_props.png
 create mode 100755 src/main/resources/static/images/key.png
 create mode 100755 src/main/resources/static/images/s_error.png
 create mode 100755 src/main/resources/static/images/s_info.png
 create mode 100755 src/main/resources/static/images/s_notice.png
 create mode 100755 src/main/resources/static/images/s_success.png
 create mode 100644 src/main/resources/static/images/s_tbl.png
 create mode 100644 src/main/resources/templates/albums.html
 create mode 100644 src/main/resources/templates/editalbum.html
 create mode 100644 src/main/resources/templates/error.html
 create mode 100644 src/main/resources/templates/footer.html
 create mode 100644 src/main/resources/templates/newalbum.html
 create mode 100644 src/main/resources/templates/welcome.html
 create mode 100644 src/test/java/pas/cloud/webapp/ApplesCfDemoApplicationTests.java

pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git remote add origin https://hub.jazz.net/git/pasapples/BluemixSpringBootJPA

pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git remote -v
origin    https://hub.jazz.net/git/pasapples/BluemixSpringBootJPA (fetch)
origin    https://hub.jazz.net/git/pasapples/BluemixSpringBootJPA (push)

pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git commit -m 'Update READEME.md'
[master 5c32ea7] Update READEME.md
pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$ git push origin master
Username for 'https://hub.jazz.net': pasapples
Password for 'https://pasapples@hub.jazz.net':
Counting objects: 58, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (49/49), done.
Writing objects: 100% (58/58), 32.88 KiB | 0 bytes/s, done.
Total 58 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6)
remote:
remote: Processing changes: refs: 1, done
To https://hub.jazz.net/git/pasapples/BluemixSpringBootJPA
   8bcea42..5c32ea7  master -> master
pas@pass-mbp:~/ibm/DemoProjects/spring-starter/jazzhub/BluemixSpringBootJPA$

Finally the project exists in Jazzhub and can be forked as required


So if you wanted to fork this project here is the URL to it.

https://hub.jazz.net/project/pasapples/BluemixSpringBootJPA/overview

More Information

For more information on the IBM dev ops service use the link below.

https://hub.jazz.net/tutorials/devopsweb/http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

ASP.NET 5 IBM Bluemix Demo

Fri, 2015-05-15 05:55
The following demo is using the same code IBM Bluemix created when using the Experimental ASP .NET 5 runtime. This can be done using the CF CLI where we clone the project from jazzhub git repository.



Steps

1. Clone a sample project as follows

pas@Pass-MacBook-Pro:~/bluemix-apps/DOTNET$ git clone https://hub.jazz.net/git/pasapples/pas-donet-demo.git
Cloning into 'pas-donet-demo'...
remote: Counting objects: 24, done
remote: Finding sources: 100% (24/24)
remote: Total 24 (delta 0), reused 24 (delta 0)
Unpacking objects: 100% (24/24), done.
Checking connectivity... done.

2. cd pas-donet-demo

3. Edit manifest.yml to use a unique host name

applications:
- disk_quota: 1024M
  host: pas-donet-demo
  name: pas-donet-demo
  path: .
  domain: mybluemix.net
  instances: 1
  memory: 256M

4. Deploy as follows

pas@Pass-MacBook-Pro:~/bluemix-apps/DOTNET/pas-donet-demo$ cf push -f manifest.yml
Using manifest file manifest.yml

Creating app pas-donet-demo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Creating route pas-donet-demo.mybluemix.net...
OK

Binding pas-donet-demo.mybluemix.net to pas-donet-demo...
OK

Uploading pas-donet-demo...
Uploading app files from: .
Uploading 19.9K, 15 files
Done uploading
OK

Starting app pas-donet-demo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (20K)

  ************************************************************************
  * WARNING: This is an experimental buildpack. It is not supported.     *
  *          Do not expect it to work reliably. Please, do not           *
  *          contact support about issues with this buildpack.           *
  ************************************************************************
.
-----> Extracting mono
Using mono mono-lucid64-3.12.1.tar.gz
       OK
-----> Adding Nowin.vNext
       Copied 3 files from /var/vcap/data/dea_next/admin_buildpacks/2b638599-b3da-44e9-86f0-6b2f513daa4f_87e6c7503171fc3d6db9055873938657ca3ea6c6/resources/Nowin.vNext to /tmp/staged/app/src
       OK

....

       Total time 361ms
       OK
-----> Moving files in to place
       Copied 1865 files from /app/mono to /tmp/staged/app
       OK
-----> Saving to buildpack cache
       Copied 628 files from /tmp/staged/app/.k to /tmp/cache
       OK
-----> Writing Release YML
       OK

-----> Uploading droplet (136M)

0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App pas-donet-demo was started using this command `cd src/samplemvc; sleep 999999 | k cf-web`

Showing health and status for app pas-donet-demo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pas-donet-demo.mybluemix.net
last uploaded: Fri May 15 11:38:29 UTC 2015

     state     since                    cpu    memory           disk           details
#0   running   2015-05-15 09:40:30 PM   0.1%   168.9M of 256M   369.8M of 1G


5. Finally access the application using the route as shown below.

eg: http://pas-donet-demo.mybluemix.net



http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

Accessing your Cloud Integration API end point from Javascript

Thu, 2015-05-07 15:42
I previously created a Cloud Integration endpoint using a Bluemix Application Itself. The application was a Sprint Boot application exposing a single REST endpoint. The screen shots below show what has been added to the Catalog as private API's in my organization. The demo below shows how to access the API using a Javascript client in this case NodeJS from the command line.





Here is how we can access that API using a Javascript SDK which we can download from the Cloud Integration service itself.

1. Click on the "Cloud Integration" service itself
2. Select your API endpoint
3. Under "Access SDK's" select "Javascript SDK" and unzip it onto your file system

Note: We will use NodeJS to run this code

4. Install the required packages using the following command

> npm install

5. Ensure you import the API module as follows , as we are not using NPM for the API itself. The code is commented out so simply add it back in and change the reference to use "sdk"

// Alternatively, if you are not using npm, then import the API class module.
var sdk = require('./lib/SpringBootHelloWorldAPI.js');
console.log("Imported API class module ok");

6. The full code is as follows which enables us to display the function call output within the method itself. There are many ways to do this but just so we invoke it this is good enough.

  
// Import the SDK package.
//var sdk = require('SpringBootHelloWorldAPI');

// Alternatively, if you are not using npm, then import the API class module.
var sdk = require('./lib/SpringBootHelloWorldAPI.js');
console.log("Imported API class module ok");

// Create a new instance of the API class.
var api = new sdk.SpringBootHelloWorldAPI();

// Set the API credentials.
// TODO: replace username and password with those from the API definition.
//api.setAPICredentials('username', 'password'); // The API credentials are optional.

// Example for the HelloWorldService operation.
function example_HelloWorldService() {

// Set up the request parameters for the HelloWorldService operation.
var request = {};

console.log("About to call service method");

// Invoke the HelloWorldService operation.
api.HelloWorldService(request, function (error, callback) {

// Handle any errors from the HelloWorldService operation.
if (error) {
console.log(error);
throw error;
}

func_result = callback;
console.log(func_result);

});

}

example_HelloWorldService();

7. Edit ./lib/SpringBootHelloWorldAPI.js and change the final line of JavaScript code to be as follows

module.exports.SpringBootHelloWorldAPI = SpringBootHelloWorldAPI;

8. Finally call the API using the Javascript client as follows
 
pas@Pass-MacBook-Pro:~/bluemix-apps/cloud-integration/client-api/springboot-hello/javascript$ node example.js
Imported API class module ok
About to call service method
{ id: 48, content: 'Hello, World!' }

http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

Auto Scaling Service within Bluemix

Tue, 2015-04-28 04:55
I decided to test out the Auto Scale service in IBM Bluemix following this example which shows how to also use the Blazemeter service to Load test the application to simulate extra memory requirement on the application.

https://developer.ibm.com/bluemix/2015/04/03/handle-unexpected-bluemix-auto-scaling/

The demo is quite straight forward to setup and the screen shots below show what the service output gives in terms of auto scaling history and of course metric statistics for the selected policy configuration.

Policy Configuration



Metrics Statistics



Scaling History


http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

Deploying a Python application to IBM Bluemix

Mon, 2015-04-20 01:15
The following simple example shows how to push the basic hello world Python application to IBM Bluemix. We use the buildpack below.

https://github.com/heroku/heroku-buildpack-python.git

1. Create a file called requirements.txt

pas@pass-mbp:~/bluemix-apps/python-demo$ cat requirements.txt
Flask==0.10.1

2. Create a file called runtime.txt to detail the Python version to use

pas@pass-mbp:~/bluemix-apps/python-demo$ cat runtime.txt
python-2.6.5

3. Push the application using the buildpack above.

pas@pass-mbp:~/bluemix-apps/python-demo$ cf push pas-phython-demo -m 128m -b https://github.com/heroku/heroku-buildpack-python.git
Creating app pas-phython-demo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Creating route pas-phython-demo.mybluemix.net...
OK

Binding pas-phython-demo.mybluemix.net to pas-phython-demo...
OK

Uploading pas-phython-demo...
Uploading app files from: /Users/pas/ibm/bluemix/apps/python-demo
Uploading 1.9K, 7 files
Done uploading
OK

Starting app pas-phython-demo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (4.0K)
Cloning into '/tmp/buildpacks/heroku-buildpack-python'...
-----> Installing runtime (python-2.6.5)
-----> Installing dependencies with pip
/app/.heroku/python/lib/python2.6/site-packages/pip-6.1.0.dev0-py2.6.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
       You are using pip version 6.1.0.dev0, however version 6.1.1 is available.
       You should consider upgrading via the 'pip install --upgrade pip' command.
       Collecting Flask==0.10.1 (from -r requirements.txt (line 1))
/app/.heroku/python/lib/python2.6/site-packages/pip-6.1.0.dev0-py2.6.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
         Downloading Flask-0.10.1.tar.gz (544kB)
       Collecting Werkzeug>=0.7 (from Flask==0.10.1->-r requirements.txt (line 1))
         Downloading Werkzeug-0.10.4-py2.py3-none-any.whl (293kB)
       Collecting Jinja2>=2.4 (from Flask==0.10.1->-r requirements.txt (line 1))
         Downloading Jinja2-2.7.3.tar.gz (378kB)
       Collecting itsdangerous>=0.21 (from Flask==0.10.1->-r requirements.txt (line 1))
         Downloading itsdangerous-0.24.tar.gz (46kB)
       Collecting markupsafe (from Jinja2>=2.4->Flask==0.10.1->-r requirements.txt (line 1))
         Downloading MarkupSafe-0.23.tar.gz
       Installing collected packages: markupsafe, itsdangerous, Jinja2, Werkzeug, Flask
         Running setup.py install for markupsafe
         Running setup.py install for itsdangerous
         Running setup.py install for Jinja2
         Running setup.py install for Flask
       Successfully installed Flask-0.10.1 Jinja2-2.7.3 Werkzeug-0.10.4 itsdangerous-0.24 markupsafe-0.23
You are using pip version 6.1.0.dev0, however version 6.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
-----> Uploading droplet (25M)

0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App pas-phython-demo was started using this command `python hello.py`

Showing health and status for app pas-phython-demo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 128M x 1 instances
urls: pas-phython-demo.mybluemix.net
last uploaded: Mon Apr 20 07:10:24 +0000 2015

     state     since                    cpu    memory          disk          details
#0   running   2015-04-20 05:12:23 PM   0.0%   40.8M of 128M   94.4M of 1G



http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

A Meteor buildpack for Bluemix to simplify the deployment

Mon, 2015-04-20 00:59
I previously blogged about deploying a Meteor application to Bluemix as follows

http://theblasfrompas.blogspot.com.au/2015/04/deploying-simple-meteor-application-to.html

The following Buildpack created by an Internal IBM employee streamlines the process of deployment and avoids the need for ENV variables with the pushed application, here;s how. It's also detailed in the GitHub buildpack URL below.

https://github.com/bancha001/bluemix-buildpack-meteor

1. Create .cfignore to exclude the path 'local' to be uploaded

pas@pass-mbp:~/ibm/software/meteor/simple-todos$ cat .cfignore
.meteor/local

2. Create a manifest.yml which includes an existing MongoDB service as shown below.

---
applications:
- memory: 256M
  domain: mybluemix.net
  path: .
  buildpack: https://github.com/bancha001/bluemix-buildpack-meteor
  host: pas-todo
  name: pas-todo
  disk: 512M
  services:
    - todo-mongo-db
  instances: 1

3. Push the application

pas@pass-mbp:~/ibm/software/meteor/simple-todos$ cf push
Using manifest file /Users/pas/ibm/software/meteor/simple-todos/manifest.yml

Creating app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Creating route pas-todo.mybluemix.net...
OK

Binding pas-todo.mybluemix.net to pas-todo...
OK

Uploading pas-todo...
Uploading app files from: /Users/pas/ibm/software/meteor/simple-todos
Uploading 9.5K, 12 files
Done uploading
OK
Binding service todo-mongo-db to app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Starting app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (216K)
Cloning into '/tmp/buildpacks/bluemix-buildpack-meteor'...
-----> Installing Node
-----> Installing Meteor
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)
Dropped log message: message too long (>64K without a newline)
######################################################################## 100.0%
Meteor 1.1.0.2 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 "/home/vcap/.meteor/packages/meteor-tool/1.1.3/mt-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.
-----> Building Meteor application

FAILED
Error performing request: Get https://api.ng.bluemix.net/v2/apps/3c2b4d96-688d-4024-b039-b8153c86c5cc/instances: dial tcp 75.126.70.44:443: i/o timeout

TIP: use 'cf logs pas-todo --recent' for more information
pas@pass-mbp:~/ibm/software/meteor/simple-todos$ clear
pas@pass-mbp:~/ibm/software/meteor/simple-todos$ cf push
Using manifest file /Users/pas/ibm/software/meteor/simple-todos/manifest.yml

Creating app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Creating route pas-todo.mybluemix.net...
OK

Binding pas-todo.mybluemix.net to pas-todo...
OK

Uploading pas-todo...
Uploading app files from: /Users/pas/ibm/software/meteor/simple-todos
Uploading 9.5K, 12 files
Done uploading
OK
Binding service todo-mongo-db to app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Starting app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (216K)
Cloning into '/tmp/buildpacks/bluemix-buildpack-meteor'...
-----> Installing Node
-----> Installing Meteor
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)
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.1.0.2 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 "/home/vcap/.meteor/packages/meteor-tool/1.1.3/mt-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.
-----> Building Meteor application
-----> Installing dependencies
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/.bluemix/app/programs/server/node_modules/fibers
       > node ./build.js
       `linux-x64-v8-3.14` exists; testing
       Binary is fine; exiting
       progress@1.1.8 node_modules/progress
       ip@0.3.2 node_modules/ip
       underscore@1.5.2 node_modules/underscore
       semver@2.2.1 node_modules/semver
       chalk@0.5.1 node_modules/chalk
       ├── escape-string-regexp@1.0.2
       ├── ansi-styles@1.1.0
       ├── 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.5 node_modules/source-map-support
       └── source-map@0.1.29 (amdefine@0.1.0)
       fibers@1.0.1 node_modules/fibers
-----> Building runtime environment
-----> Running extras
       MongoDB Service Binding
  #!/bin/sh
  export ROOT_URL=${ROOT_URL:-http://pas-todo.mybluemix.net}
  export MONGO_URL=${MONGO_URL:-mongodb://IbmCloud_r3baqpa6_2hft49g4_f78kb40a:Wb010LLGN9YHYbPR4DdK5JEpSvTt0GZ0@ds055200.mongolab.com:55200/IbmCloud_r3baqpa6_2hft49g4}
-----> Uploading droplet (14M)

0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App pas-todo was started using this command `.bluemix/bin/node .bluemix/app/main.js`

Showing health and status for app pas-todo in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pas-todo.mybluemix.net
last uploaded: Mon Apr 20 06:51:43 +0000 2015

     state     since                    cpu    memory          disk          details
#0   running   2015-04-20 04:56:09 PM   0.1%   70.6M of 256M   57.8M of 1G


http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

Deploying a simple Meteor Application To IBM Bluemix

Tue, 2015-04-14 23:25
In this post I show what is necessary to deploy a simple Meteor application to IBM Bluemix public instance. In this example we already have a simple Meteor application we have tested and verified using "meteor" itself , running on localhost at port 3000.

1. Lets remove the local DB files, be careful as this will remove the local DB so you should do this when your ready to deploy to Bluemix only.

pas@pass-mbp:~/ibm/software/meteor/myfirst_app$ meteor reset
Project reset.

2. Create a manifest.yml file for the deployed application, the ENV variable ROOT_URL is required and also a buildpack which supports Meteor runtime is being pushed with the application.

applications:
 - name: pas-meteor-firstapp
   memory: 256M
   instances: 1
   path: .
   host: pas-meteor-firstapp
   domain: mybluemix.net
   buildpack: https://github.com/jordansissel/heroku-buildpack-meteor.git
env:
   ROOT_URL: http://pas-meteor-firstapp.mybluemix.net/

3. Push the application as shown below.

pas@pass-mbp:~/ibm/software/meteor/myfirst_app$ cf push -f manifest.yml
Using manifest file manifest.yml

Creating app pas-meteor-firstapp in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Using route pas-meteor-firstapp.mybluemix.net
Binding pas-meteor-firstapp.mybluemix.net to pas-meteor-firstapp...
OK

Uploading pas-meteor-firstapp...
Uploading app files from: .
Uploading 3.7K, 11 files
Done uploading
OK

Starting app pas-meteor-firstapp in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (4.0K)
Cloning into '/tmp/buildpacks/heroku-buildpack-meteor'...

-----> Moving app source into a subdirectory
       Node engine:         0.10.36
       Npm engine:          unspecified
       Start mechanism:     none
       node_modules source: none
       node_modules cached: false
       NPM_CONFIG_PRODUCTION=true
       NODE_MODULES_CACHE=true
       PRO TIP: Use 'npm init' and 'npm install --save' to define dependencies
       See https://devcenter.heroku.com/articles/nodejs-support
       PRO TIP: Include a Procfile, package.json start script, or server.js file to start your app
       See https://devcenter.heroku.com/articles/nodejs-support#runtime-behavior
-----> Installing binaries
       Downloading and installing node 0.10.36...
-----> Building dependencies
       Skipping dependencies (no source for node_modules)
-----> Checking startup method
-----> Finalizing build
       Creating runtime environment
       Exporting binary paths
       Cleaning up build artifacts
       Build successful!
       /tmp/staged/app
       └── (empty)
-----> Fetching Meteor 1.0.3.2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 72.4M  100 72.4M    0     0  14.3M      0  0:00:05  0:00:05 --:--:-- 15.6M
-----> Unpacking Meteor 1.0.3.2
       Meteor 1.0.3.2 is installed
-----> Building Meteor App Bundle
-----> Installing App's NPM Dependencies
       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/build/bundle/programs/server/node_modules/fibers
       `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)
-----> Uploading droplet (82M)

0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App pas-meteor-firstapp was started using this command `node build/bundle/main.js`

Showing health and status for app pas-meteor-firstapp in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pas-meteor-firstapp.mybluemix.net
last uploaded: Wed Apr 15 05:13:01 +0000 2015

     state     since                    cpu    memory           disk           details
#0   running   2015-04-15 03:18:18 PM   0.1%   149.2M of 256M   351.1M of 1G

4. Verify application is running

pas@pass-mbp:~/ibm/software/meteor/myfirst_app$ cf app pas-meteor-firstapp
Showing health and status for app pas-meteor-firstapp in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pas-meteor-firstapp.mybluemix.net
last uploaded: Wed Apr 15 05:13:01 +0000 2015

     state     since                    cpu    memory           disk           details
#0   running   2015-04-15 03:18:18 PM   0.0%   149.2M of 256M   351.1M of 1G

5. Access as shown below.

http://pas-meteor-firstapp.mybluemix.net/


Finally if you need to use a data store which most applications will then you need to define an ENV variable for your MongoDB store as shown below. In this example below I am using a service in the Bluemix catalog for MongoDB itself and

   MONGO_URL: mongodb://zzzzzzzzz:yyyyyyyyyyy


More Information

https://www.meteor.com/installhttp://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

Bluemix IBM Containers Simple NodeJS Demo

Sun, 2015-04-12 01:40
I decided to give the IBM Containers service a quick test drive today. I used this very simple example available at the following GitHub URL

https://github.com/Samze/ibm-containers-simple-node-example

1. Clone the source code as follows

pas@192-168-1-4:~/temp$ git clone https://github.com/Samze/ibm-containers-simple-node-example
Cloning into 'ibm-containers-simple-node-example'...
remote: Counting objects: 63, done.
remote: Total 63 (delta 0), reused 0 (delta 0), pack-reused 63
Unpacking objects: 100% (63/63), done.
Checking connectivity... done.

2. Build as shown below.

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ docker build -t simplenode:latest .
Sending build context to Docker daemon 921.6 kB
Sending build context to Docker daemon
Step 0 : FROM registry-ice.ng.bluemix.net/ibmnode:latest
 ---> e9991fa102c2
Step 1 : ADD . /node
 ---> e06d64586fcb
Removing intermediate container 115a1f348c9c
Step 2 : WORKDIR /node
 ---> Running in bbbbb3e2044c
 ---> 341de1dca2a2
Removing intermediate container bbbbb3e2044c
Step 3 : RUN npm install
 ---> Running in c5157b73d74a
npm WARN package.json ibm-containers-simple-node-example@0.0.0 No repository field.
npm ERR! fetch failed https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz
npm ERR! fetch failed https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz
npm ERR! fetch failed https://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz
npm ERR! fetch failed https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz
npm ERR! fetch failed https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.7.tgz
npm ERR! fetch failed https://registry.npmjs.org/crc/-/crc-3.2.1.tgz
npm ERR! fetch failed https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz
npm ERR! fetch failed https://registry.npmjs.org/crc/-/crc-3.2.1.tgz
npm ERR! fetch failed https://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz
ejs@2.3.1 node_modules/ejs

express@4.12.3 node_modules/express
├── merge-descriptors@1.0.0
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── cookie@0.1.2
├── fresh@0.2.4
├── escape-html@1.0.1
├── range-parser@1.0.2
├── finalhandler@0.3.4
├── content-type@1.0.1
├── vary@1.0.0
├── parseurl@1.3.0
├── serve-static@1.9.2
├── content-disposition@0.5.0
├── path-to-regexp@0.1.3
├── depd@1.0.1
├── qs@2.4.1
├── proxy-addr@1.0.7 (forwarded@0.1.0, ipaddr.js@0.1.9)
├── debug@2.1.3 (ms@0.7.0)
├── send@0.12.2 (destroy@1.0.3, ms@0.7.0, mime@1.3.4)
├── type-is@1.6.1 (media-typer@0.3.0, mime-types@2.0.10)
├── etag@1.5.1 (crc@3.2.1)
├── on-finished@2.2.0 (ee-first@1.1.0)
└── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
 ---> 6a8303faa142
Removing intermediate container c5157b73d74a
Step 4 : EXPOSE 8080
 ---> Running in 2ef2338c54f0
 ---> 92fcbb0123ac
Removing intermediate container 2ef2338c54f0
Step 5 : ENTRYPOINT node /node/index.js
 ---> Running in 9abbc0dd1b10
 ---> 0c09d70174b1
Removing intermediate container 9abbc0dd1b10
Successfully built 0c09d70174b1

3. Log into IBM Containers

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS$ ice login
API endpoint: https://api.ng.bluemix.net

Email> pasapi@au1.ibm.com

Password>
Authenticating...
OK

Targeted org pasapi@au1.ibm.com

Select a space (or press enter to skip):
1. dev
2. apple
3. lemon
4. pas

Space> 1
Targeted space dev

API endpoint:   https://api.ng.bluemix.net (API version: 2.19.0)
User:           pasapi@au1.ibm.com
Org:            pasapi@au1.ibm.com
Space:          dev
Authentication with container cloud service at https://api-ice.ng.bluemix.net/v2.0/containers completed successfully
You can issue commands now to the container service

Proceeding to authenticate with the container cloud registry at registry-ice.ng.bluemix.net
Login Succeeded

4. Retrieve your current namespace

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS$ ice namespace get
apples01

5. Tag the image to point to your private registry.

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice --local tag -f simplenode:latest registry-ice.ng.bluemix.net/apples01/simplenode:latest
Target is local host. Invoking docker with the given arguments...

6. Push the image to your private registry.

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice --local push registry-ice.ng.bluemix.net/apples01/simplenode:latest
Target is local host. Invoking docker with the given arguments...
The push refers to a repository [registry-ice.ng.bluemix.net/apples01/simplenode] (len: 1)
Sending image list
Pushing repository registry-ice.ng.bluemix.net/apples01/simplenode (1 tags)
Image 511136ea3c5a already pushed, skipping
Image a1a958a24818 already pushed, skipping
Image d0955f21bf24 already pushed, skipping
Image 9fec74352904 already pushed, skipping
Image a3d3e588211d already pushed, skipping
Image 19a35b496c0d already pushed, skipping
Image 1adb38c035f4 already pushed, skipping
Image f3c84ac3a053 already pushed, skipping
Image bf94729cc072 already pushed, skipping
Image cbc052ac72f1 already pushed, skipping
Image 12433edaed33 already pushed, skipping
Image c4a2c78444b7 already pushed, skipping
Image 300247e5330a already pushed, skipping
Image e9991fa102c2 already pushed, skipping
e06d64586fcb: Image successfully pushed
341de1dca2a2: Image successfully pushed
6a8303faa142: Image successfully pushed
92fcbb0123ac: Image successfully pushed
0c09d70174b1: Image successfully pushed
Pushing tag for rev [0c09d70174b1] on {https://registry-ice.ng.bluemix.net/v1/repositories/apples01/simplenode/tags/latest}

7. Start a new container in IBM Containers from the image you just pushed.

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice run --name simplenode_1 -p 8080 apples01/simplenode:latest
2261936e-4324-4f28-b800-10099471a306

8.  Verify it's up and running

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice ps

Container Id                         Name                   Group      Image                          Created      State    Private IP      Public IP       Ports

2261936e-4324-4f28-b800-10099471a306 simplenode_1                      apples01/simplenode:latest     Apr 10 23:13 Running  172.17.200.2                    [8080]

9. The following commands assign a public IP address to my container

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice ip list
Number of addresses: 0
pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice ip request
Successfully obtained ip: "129.41.233.119"
pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice ip list
Number of addresses: 1

Ip Address

129.41.233.119

pas@Pass-MacBook-Pro:~/bluemix-apps/CONTAINERS/ibm-containers-simple-node-example$ ice ip bind 129.41.233.119 simplenode_1
Successfully bound ip

10. Access the container as shown below.

http://129.41.233.119:8080/



More Information

https://www.ng.bluemix.net/docs/#starters/index-gentopic3.html#containers

http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

IBM Bluemix demo using IBM Watson Personality Insights service

Mon, 2015-03-30 04:31
The IBM Watson Personality Insights service uses linguistic analysis to extract cognitive and social characteristics from input text such as email, text messages, tweets, forum posts, and more. By deriving cognitive and social preferences, the service helps users to understand, connect to, and communicate with other people on a more personalized level.

1. Clone the GitHub repo as shown below.

pas@192-168-1-4:~/bluemix-apps/watson$ git clone https://github.com/watson-developer-cloud/personality-insights-nodejs.git
Cloning into 'personality-insights-nodejs'...
remote: Counting objects: 84, done.
remote: Total 84 (delta 0), reused 0 (delta 0), pack-reused 84
Unpacking objects: 100% (84/84), done.
Checking connectivity... done.

2. Create the service as shown below.

pas@192-168-1-4:~/bluemix-apps/watson/personality-insights-nodejs$ cf create-service personality_insights "IBM Watson Personality Insights Monthly Plan" personality-insights-service
Creating service personality-insights-service in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

3. Edit the manifest.yml to use a unique application name , I normally use {myname}-appname

---
declared-services:
  personality-insights-service:
    label: personality_insights
    plan: 'IBM Watson Personality Insights Monthly Plan'

applications:
- name: pas-personality-insights-nodejs
  command: node app.js
  path: .
  memory: 256M
  services:
  - personality-insights-service

4. Push the application as shown below.

pas@192-168-1-4:~/bluemix-apps/watson/personality-insights-nodejs$ cf push
Using manifest file /Users/pas/ibm/bluemix/apps/watson/personality-insights-nodejs/manifest.yml

Creating app pas-personality-insights-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Creating route pas-personality-insights-nodejs.mybluemix.net...
OK

Binding pas-personality-insights-nodejs.mybluemix.net to pas-personality-insights-nodejs...
OK

Uploading pas-personality-insights-nodejs...
Uploading app files from: /Users/pas/ibm/bluemix/apps/watson/personality-insights-nodejs
Uploading 188.5K, 30 files
Done uploading
OK
Binding service personality-insights-service to app pas-personality-insights-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Starting app pas-personality-insights-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (192K)
-----> Node.js Buildpack Version: v1.14-20150309-1555
-----> Requested node range:  >=0.10
-----> Resolved node version: 0.10.36
-----> Installing IBM SDK for Node.js from cache
-----> Checking and configuring service extensions
-----> Installing dependencies
       errorhandler@1.3.5 node_modules/errorhandler
       ├── escape-html@1.0.1
       └── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
       body-parser@1.11.0 node_modules/body-parser
       ├── bytes@1.0.0
       ├── media-typer@0.3.0
       ├── raw-body@1.3.2
       ├── depd@1.0.0
       ├── qs@2.3.3
       ├── on-finished@2.2.0 (ee-first@1.1.0)
       ├── iconv-lite@0.4.6
       └── type-is@1.5.7 (mime-types@2.0.10)
       express@4.11.2 node_modules/express
       ├── escape-html@1.0.1
       ├── merge-descriptors@0.0.2
       ├── utils-merge@1.0.0
       ├── methods@1.1.1
       ├── fresh@0.2.4
       ├── cookie@0.1.2
       ├── range-parser@1.0.2
       ├── cookie-signature@1.0.5
       ├── media-typer@0.3.0
       ├── finalhandler@0.3.3
       ├── vary@1.0.0
       ├── parseurl@1.3.0
       ├── serve-static@1.8.1
       ├── content-disposition@0.5.0
       ├── path-to-regexp@0.1.3
       ├── depd@1.0.0
       ├── qs@2.3.3
       ├── on-finished@2.2.0 (ee-first@1.1.0)
       ├── debug@2.1.3 (ms@0.7.0)
       ├── etag@1.5.1 (crc@3.2.1)
       ├── proxy-addr@1.0.7 (forwarded@0.1.0, ipaddr.js@0.1.9)
       ├── send@0.11.1 (destroy@1.0.3, ms@0.7.0, mime@1.2.11)
       ├── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
       └── type-is@1.5.7 (mime-types@2.0.10)
       jade@1.9.2 node_modules/jade
       ├── character-parser@1.2.1
       ├── void-elements@2.0.1
       ├── commander@2.6.0
       ├── mkdirp@0.5.0 (minimist@0.0.8)
       ├── with@4.0.2 (acorn-globals@1.0.3, acorn@1.0.1)
       ├── constantinople@3.0.1 (acorn-globals@1.0.3)
       └── transformers@2.1.0 (promise@2.0.0, css@1.0.8, uglify-js@2.2.5)
       watson-developer-cloud@0.9.8 node_modules/watson-developer-cloud
       ├── object.pick@1.1.1
       ├── cookie@0.1.2
       ├── extend@2.0.0
       ├── isstream@0.1.2
       ├── async@0.9.0
       ├── string-template@0.2.0 (js-string-escape@1.0.0)
       ├── object.omit@0.2.1 (isobject@0.2.0, for-own@0.1.3)
       └── request@2.53.0 (caseless@0.9.0, json-stringify-safe@5.0.0, aws-sign2@0.5.0, forever-agent@0.5.2, form-data@0.2.0, stringstream@0.0.4, oauth-sign@0.6.0, tunnel-agent@0.4.0, qs@2.3.3, node-uuid@1.4.3, mime-types@2.0.10, combined-stream@0.0.7, http-signature@0.10.1, tough-cookie@0.12.1, bl@0.9.4, hawk@2.3.1)
-----> Caching node_modules directory for future builds
-----> Cleaning up node-gyp and npm artifacts
-----> No Procfile found; Adding npm start to new Procfile
-----> Building runtime environment
-----> Checking and configuring service extensions
-----> Installing App Management
-----> Node.js Buildpack is done creating the droplet

-----> Uploading droplet (12M)

0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App pas-personality-insights-nodejs was started using this command `node app.js`

Showing health and status for app pas-personality-insights-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pas-personality-insights-nodejs.mybluemix.net
last uploaded: Mon Mar 30 10:18:37 +0000 2015

     state     since                    cpu    memory   disk     details
#0   running   2015-03-30 09:20:06 PM   0.0%   0 of 0   0 of 0

5. Access Application


This demo is based off the link below.

https://github.com/watson-developer-cloud/personality-insights-nodejs

More information as follows

http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/personality-insights/

http://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware

IBM Bluemix demo using IBM Watson Tradeoff Analytics Service

Thu, 2015-03-26 03:57
The IBM Watson Tradeoff Analytics service helps you make better choices under multiple conflicting goals. The service combines smart visualization and recommendations for tradeoff exploration.

The following demo application shows how to use the IBM Watson Tradeoff Analytics Service from IBM Bluemix. This is the demo application for this service.

1. Clone the GitHub project as shown below.

pas@pass-mbp:~/bluemix-apps/watson$ git clone https://github.com/watson-developer-cloud/tradeoff-analytics-nodejs.git
Cloning into 'tradeoff-analytics-nodejs'...
remote: Counting objects: 112, done.
remote: Total 112 (delta 0), reused 0 (delta 0), pack-reused 112
Receiving objects: 100% (112/112), 163.05 KiB | 11.00 KiB/s, done.
Resolving deltas: 100% (38/38), done.
Checking connectivity... done.

2. Create the Tradeoff Analytics service as shown below.

pas@pass-mbp:~/bluemix-apps/watson$ cf create-service tradeoff_analytics free tradeoff-analytics-service
Creating service tradeoff-analytics-service in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

3. Create a mainifest.yml as shown below, ensuring you edit the application name to be a unique name

declared-services:
  tradeoff-analytics-service:
    label: tradeoff_analytics
    plan: free
applications:
- services:
  - tradeoff-analytics-service
  name: pas-tradeoff-analytics-nodejs
  command: node app.js
  path: .
  memory: 128M

4. Push the application into Bluemix as follows

pas@pass-mbp:~/bluemix-apps/watson/tradeoff-analytics-nodejs$ cf push
Using manifest file /Users/pas/ibm/bluemix/apps/watson/tradeoff-analytics-nodejs/manifest.yml

Creating app pas-tradeoff-analytics-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Creating route pas-tradeoff-analytics-nodejs.mybluemix.net...
OK

Binding pas-tradeoff-analytics-nodejs.mybluemix.net to pas-tradeoff-analytics-nodejs...
OK

Uploading pas-tradeoff-analytics-nodejs...
Uploading app files from: /Users/pas/ibm/bluemix/apps/watson/tradeoff-analytics-nodejs
Uploading 204K, 45 files
Done uploading
OK
Binding service tradeoff-analytics-service to app pas-tradeoff-analytics-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

Starting app pas-tradeoff-analytics-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (156K)
-----> Node.js Buildpack Version: v1.14-20150309-1555
       TIP: Avoid using semver ranges starting with '>' in engines.node
-----> Requested node range:  >=0.10
-----> Resolved node version: 0.10.36
-----> Installing IBM SDK for Node.js from cache
-----> Checking and configuring service extensions
-----> Installing dependencies
       body-parser@1.10.2 node_modules/body-parser
       ├── media-typer@0.3.0
       ├── bytes@1.0.0
       ├── raw-body@1.3.2
       ├── depd@1.0.0
       ├── qs@2.3.3
       ├── on-finished@2.2.0 (ee-first@1.1.0)
       ├── iconv-lite@0.4.6
       └── type-is@1.5.7 (mime-types@2.0.10)
       express@4.12.3 node_modules/express
       ├── merge-descriptors@1.0.0
       ├── escape-html@1.0.1
       ├── utils-merge@1.0.0
       ├── cookie-signature@1.0.6
       ├── methods@1.1.1
       ├── fresh@0.2.4
       ├── cookie@0.1.2
       ├── range-parser@1.0.2
       ├── finalhandler@0.3.4
       ├── content-type@1.0.1
       ├── vary@1.0.0
       ├── parseurl@1.3.0
       ├── serve-static@1.9.2
       ├── content-disposition@0.5.0
       ├── path-to-regexp@0.1.3
       ├── depd@1.0.0
       ├── on-finished@2.2.0 (ee-first@1.1.0)
       ├── qs@2.4.1
       ├── debug@2.1.3 (ms@0.7.0)
       ├── etag@1.5.1 (crc@3.2.1)
       ├── send@0.12.2 (destroy@1.0.3, ms@0.7.0, mime@1.3.4)
       ├── proxy-addr@1.0.7 (forwarded@0.1.0, ipaddr.js@0.1.9)
       ├── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
       └── type-is@1.6.1 (media-typer@0.3.0, mime-types@2.0.10)
       errorhandler@1.3.5 node_modules/errorhandler
       ├── escape-html@1.0.1
       └── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
       request@2.53.0 node_modules/request
       ├── caseless@0.9.0
       ├── json-stringify-safe@5.0.0
       ├── forever-agent@0.5.2
       ├── aws-sign2@0.5.0
       ├── stringstream@0.0.4
       ├── oauth-sign@0.6.0
       ├── tunnel-agent@0.4.0
       ├── isstream@0.1.2
       ├── node-uuid@1.4.3
       ├── combined-stream@0.0.7 (delayed-stream@0.0.5)
       ├── qs@2.3.3
       ├── form-data@0.2.0 (async@0.9.0)
       ├── mime-types@2.0.10 (mime-db@1.8.0)
       ├── http-signature@0.10.1 (assert-plus@0.1.5, asn1@0.1.11, ctype@0.5.3)
       ├── bl@0.9.4 (readable-stream@1.0.33)
       ├── tough-cookie@0.12.1 (punycode@1.3.2)
       └── hawk@2.3.1 (cryptiles@2.0.4, sntp@1.0.9, boom@2.6.1, hoek@2.12.0)
       jade@1.9.2 node_modules/jade
       ├── character-parser@1.2.1
       ├── void-elements@2.0.1
       ├── commander@2.6.0
       ├── mkdirp@0.5.0 (minimist@0.0.8)
       ├── with@4.0.1 (acorn-globals@1.0.2, acorn@0.11.0)
       ├── transformers@2.1.0 (promise@2.0.0, css@1.0.8, uglify-js@2.2.5)
       └── constantinople@3.0.1 (acorn-globals@1.0.2)
       watson-developer-cloud@0.9.6 node_modules/watson-developer-cloud
       ├── object.pick@1.1.1
       ├── cookie@0.1.2
       ├── extend@2.0.0
       ├── isstream@0.1.2
       ├── async@0.9.0
       ├── string-template@0.2.0 (js-string-escape@1.0.0)
       └── object.omit@0.2.1 (isobject@0.2.0, for-own@0.1.3)
-----> Caching node_modules directory for future builds
-----> Cleaning up node-gyp and npm artifacts
-----> No Procfile found; Adding npm start to new Procfile
-----> Building runtime environment
-----> Checking and configuring service extensions
-----> Installing App Management
-----> Node.js Buildpack is done creating the droplet

-----> Uploading droplet (14M)

0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App pas-tradeoff-analytics-nodejs was started using this command `node app.js`

Showing health and status for app pas-tradeoff-analytics-nodejs in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
OK

requested state: started
instances: 1/1
usage: 128M x 1 instances
urls: pas-tradeoff-analytics-nodejs.mybluemix.net
last uploaded: Thu Mar 26 09:44:55 +0000 2015

     state     since                    cpu    memory          disk          details
#0   running   2015-03-26 08:45:51 PM   0.0%   43.5M of 128M   50.3M of 1G

5. Access the application


6. Click on the "Analyze Sample Data"


The demo can be found on the GutHub link below.

https://github.com/watson-developer-cloud/tradeoff-analytics-nodejshttp://feeds.feedburner.com/TheBlasFromPas
Categories: Fusion Middleware