Spinnaker Create Pipeline from Command Line: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 9: Line 9:
{
{
   "schema": "v2",
   "schema": "v2",
   "application": "my-application",
   "application": "aiml-automation-test",
   "name": "my-pipeline",
   "name": "color-pipeline",
   "keepWaitingPipelines": false,
   "keepWaitingPipelines": false,
   "limitConcurrent": true,
   "limitConcurrent": true,
   "parameterConfig": [
   "parameterConfig": [
     {
     {
       "name": "param_1",
       "name": "color",
       "default": "value 1",
       "default": "blue",
       "label": "The first parameter",
       "label": "The Color",
       "description": "This is the description of param_1",
       "description": "The color to be presented to the user",
       "pinned": true,
       "pinned": true,
       "required": true
       "required": true
Line 26: Line 26:
     {
     {
       "refId": "1",
       "refId": "1",
       "name": "Manual Judgment",
       "name": "Manual Judgement",
       "type": "manualJudgment",
       "type": "manualJudgment",
       "instructions": "the value of param_1: ${execution.trigger.parameters['param_1']}",
       "instructions": "Do you like the ${execution.trigger.parameters['color']} color?",
       "judgmentInputs": [
       "judgmentInputs": [
         {
         {
           "value": "Option 1"
           "value": "Yes"
         },
         },
         {
         {
           "value": "Option 2"
           "value": "No"
         }
         }
       ],
       ],
Line 42: Line 42:
}
}
</syntaxhighlight>
</syntaxhighlight>
Once saved in <code>some-file.json</code>, the pipeline can be created with:
<syntaxhighlight lang='bash'>
spin pipeline save --file  ./some-file.json
</syntaxhighlight>
The pipeline can be executed from the UI, where the "Select Execution Parameters" window will pop up, or from the command line with a <code>--parameter-file</code> option, that will provide the value of the parameters that way.
<syntaxhighlight lang='bash'>
spin pipeline execute --application "<application-name>" --name "<pipeline-name>" --parameter-file "<parameter-file>"
</syntaxhighlight>
More details on execution are available here: {{Internal|Spinnaker Executing a Pipeline in Command Line#Overview|Executing a Pipeline in Command Line}}

Latest revision as of 03:54, 31 May 2023

Internal

Overview

A pipeline, including its parameters, can be fully declared in a JSON file and then instantiated via CLI.

The JSON representation is similar to:

{
  "schema": "v2",
  "application": "aiml-automation-test",
  "name": "color-pipeline",
  "keepWaitingPipelines": false,
  "limitConcurrent": true,
  "parameterConfig": [
    {
      "name": "color",
      "default": "blue",
      "label": "The Color",
      "description": "The color to be presented to the user",
      "pinned": true,
      "required": true
    }
  ],
  "stages": [
    {
      "refId": "1",
      "name": "Manual Judgement",
      "type": "manualJudgment",
      "instructions": "Do you like the ${execution.trigger.parameters['color']} color?",
      "judgmentInputs": [
        {
          "value": "Yes"
        },
        {
          "value": "No"
        }
      ],
      "failPipeline": true
    }
  ]
}

Once saved in some-file.json, the pipeline can be created with:

spin pipeline save --file  ./some-file.json

The pipeline can be executed from the UI, where the "Select Execution Parameters" window will pop up, or from the command line with a --parameter-file option, that will provide the value of the parameters that way.

spin pipeline execute --application "<application-name>" --name "<pipeline-name>" --parameter-file "<parameter-file>"

More details on execution are available here:

Executing a Pipeline in Command Line