packages:
zipaction:
actions:
my-zip-action:
function: actions/my-zip-action
runtime: nodejs:6
inputs:
name: Amy
$ ls actions/my-zip-action
index.js
package.json
function helloworld(params) {
var format = require('string-format');
var name = params.name || 'Stranger';
payload = format('Hello, {}!', name)
return { message: payload };
}
exports.main = helloworld;
{
"name": "my-zip-action",
"description": "Node OpenWhisk zip action to demo Whisk Deploy",
"license": "Apache-2.0",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"string-format": "0.5.0"
}
}
cd actions/my-action
npm install --production
$ cd actions/
$ ls -1 ./
common/
greeting1/
greeting2/
manifest.yaml
$ ls -1 common/
utils.js
$ ls -1 greeting1/
index.js
package.json
$ ls -1 greeting2/
index.js
package.json
include:
- [source]
- [source, destination]
include:
- [actions/common/utils.js]
var utils = require('./actions/common/utils.js')
include:
- ["actions/common/utils.js", "./common/myUtils.js"]
var utils = require('./common/myUtils.js')
include:
- ["actions/common/utils.js", "./common/utility/utils.js"]
var utils = require('./common/utility/utils.js')
include:
- ["actions/common/*.js", "./common/"]
var utils = require('./common/utils.js')
$ cd actions/
$ ls -1
libs/
greeting3/
manifest.yaml
$ ls -1 libs/
lib1/
lib2/
lib3/
$ ls -1 libs/lib1/
utils.js
$ ls -1 libs/lib2/
utils.js
$ ls -1 libs/lib3/
utils.js
$ ls -1 greeting3/
index.js
package.json
packages:
zipactionwithinclude:
actions:
greeting3:
function: actions/greeting3
runtime: nodejs:6
include:
- ["actions/libs/*", "libs/"]
include:
- ["actions/libs/*/utils.js", "libs/"]
var lib1 = require('./libs/lib1/utils.js')
var lib2 = require('./libs/lib2/utils.js')
var lib3 = require('./libs/lib3/utils.js')
include:
- ["actions/*/*/utils.js"]
var lib1 = require('./actions/libs/lib1/utils.js')
var lib2 = require('./actions/libs/lib2/utils.js')
var lib3 = require('./actions/libs/lib3/utils.js')
include:
- ["actions/*/*/utils.js", "actions/"]
exclude:
- actions/common/*.js
- actions/libs/*/utils.js
project:
name: MyProjectName
packages:
package1:
....
project:
name: MyProjectName
$wskdeploy -m tests/src/integration/managed-deployment/manifest.yaml --managed
Deployment completed successfully.