spinnaker: helm charts: manual execution vs. triggers

Issue Summary:

Manual execution doesn’t provide ‘real’ helm chart artifacts, which makes for a painful choice between functional manual execution and working triggers.

Cloud Provider(s):

kubernetes v2

Description:

Many of the pipelines I work with deal with docker images, helm charts, and files from github (e.g. values files). At the moment (1.14.x and 1.15.x), I have a pipeline parameter for each helm chart’s version and configure the helm chart artifacts with a default that uses the version parameter. This makes manual execution work just fine.

The struggle comes when I want to trigger the pipeline on arrival of a new docker image or git commit. If a docker image triggers the pipeline, there’s the question of what helm chart to use. I’m not aware of the notion of a default/latest/master version for helm charts, so the pipeline needs some way to choose one. Enabling Use Prior Execution solves that in a good way. The trouble is, it breaks manual execution since Use Prior Execution takes precedence over Use Default Artifact. What’s worse, is that manual execution still appears to work. The dialog box to specify the helm chart version is still there, but the pipeline execution ignores it and grabs the helm chart from the previous execution.

There’s potentially an argument for changing precedence rules, but that would almost certainly break pipelines that depend on it. It also feels like a bit of a bandaid. If manual execution provided helm chart artifacts, I wouldn’t need a default at all, and I could enable triggers to my heart’s content.

@maggieneterval Thanks so much for your help here 😃

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 16 (8 by maintainers)

Most upvoted comments

So, this is enough:

{
  "expectedArtifacts": [],
  "keepWaitingPipelines": false,
  "lastModifiedBy": "david.byron@spamalot.com",
  "limitConcurrent": true,
  "stages": [],
  "triggers": [
    {
      "account": "my-docker-account",
      "enabled": true,
      "organization": "my-org",
      "registry": "registry.mydomain.com",
      "repository": "foo/bar",
      "type": "docker"
    }
  ],
  "updateTs": "1563481498000"
}