Вы знакомитесь с OpenWhisk и пишете простое действие JavaScript с помощью hello.js?

cat hello.js
function main() {
    return {payload:  'Hello World'};
}

Если да, хотели бы вы автоматизировать развертывание этого экшена hello world?

Если это так, продолжайте читать эту статью. Я собираюсь показать вам, как использовать openwhisk-wskdeploy для автоматизации развертывания действия Hello World.

Условие:

Шаг 1. Создайте файл манифеста (manifest.yaml) с помощью:

packages:
    helloworld:
        actions:
            helloworld:
                location: src/hello.js
                runtime: nodejs:6
                outputs:
                    payload:
                        type: string
                        description: a simple greeting message, Hello World.

Шаг 2. Создайте файл развертывания (deployment.yaml) с помощью:

application:
    name: SampleHelloWorld
    namespace: _
    packages:
        helloworld:
            actions:
                helloworld:

Этот файл развертывания является совершенно необязательным. Вы можете развернуть helloworld, просто используя файл манифеста из шага 1.

Шаг 3. Убедитесь, что структура каталогов похожа на следующую:

ls -1R ~/SampleHelloWorldApp/
deployment.yaml
manifest.yaml
src/

./src:
hello.js

Шаг 4. Разверните действие Hello World

./wskdeploy -p ~/SampleHelloWorldApp/
         ____      ___                   _    _ _     _     _
        /\   \    / _ \ _ __   ___ _ __ | |  | | |__ (_)___| | __
   /\  /__\   \  | | | | '_ \ / _ \ '_ \| |  | | '_ \| / __| |/ /
  /  \____ \  /  | |_| | |_) |  __/ | | | |/\| | | | | \__ \   <
  \   \  /  \/    \___/| .__/ \___|_| |_|__/\__|_| |_|_|___/_|\_\
   \___\/              |_|

Packages:
Name: helloworld
  * action: helloworld
    bindings:


Triggers:

 Rules

Do you really want to deploy this? (y/N): y
Deploying pacakge helloworld ... Done!
Deploying action helloworld/helloworld ... Done!

Deployment completed successfully.

Шаг 5. Проверьте развертывание

wsk action invoke --blocking --result helloworld/helloworld
{
    "payload": "Hello World"
}

Наслаждаться!

Следите за более сложной автоматизацией развертывания с помощью действий, триггеров и правил.