The evaluateArtifactsStagePlugin, also called the EvaluateArtifacts plugin, creates a custom pipeline stage that evaluates artifacts of a pipeline for SpEL expressions.
| Plugin | Spinnaker Platform |
|---|---|
| 1.0.x | 1.24.x |
- Run
./gradlew releaseBundle - Put the
/build/distributions/<project>-<version>.zipinto the configured plugins location for your service. - Configure the Spinnaker services. Put the following in the Spinnaker config to enable the plugin and configure the extension:
spinnakerConfig:
profiles:
gate:
spinnaker:
extensibility:
# deck-proxy is needed for deck to retrieve the front-end components of the plugin
deck-proxy:
enabled: true
plugins:
Armory.EvaluateArtifactsPlugin:
enabled: true
version: 0.0.10
spinnaker:
extensibility:
plugins:
Armory.EvaluateArtifactsPlugin:
enabled: true
version: 0.0.10
repositories:
evaluateArtifacts:
url: https://raw.githubusercontent.com/armory-plugins/evaluate-artifacts-releases/master/repositories.jsonSee the Evaluate Artifacts Repository for official releases.
See the Plugin Users Guide and the pf4jStagePlugin Deployment Example.
To debug the evaluate-artifacts-orca server component inside a Spinnaker service (like Orca) using IntelliJ Idea follow these steps:
- Run
./gradlew releaseBundlein the plugin project. - Copy the generated
.plugin-reffile underbuildin the plugin project submodule for the service to thepluginsdirectory under root in the Spinnaker service that will use the plugin . - Link the plugin project to the service project in IntelliJ (from the service project use the
+button in the Gradle tab and select the plugin build.gradle). - Configure the Spinnaker service the same way specified above.
- Create a new IntelliJ run configuration for the service that has the VM option
-Dpf4j.mode=developmentand does aBuild Projectbefore launch. - Debug away...
See the Test a Pipeline Stage Plugin guide for a detailed walkthrough of setting up a plugin local testing environment on your workstation.
The plugin consists of a evaluate-artifacts-orca Kotlin server component and a evaluate-artifacts-deck React UI component that uses the rollup.js plugin library.
Prior to v1.1.4, this component used the rollup.js plugin library to create a UI widget for Deck.
rollup.config.js: configuration for building the JavaScript applicationpackage.json: defines dependenciesEvaluateArtifactsStage.tsx: defines the custom pipeline stage; renders UI outputindex.ts: exports the name and custom stages
The code was refactored in v1.1.5 to use the new Deck UI SDK. rollup.config.js
now points to the config defined by the UI SDK. It's mostly not necessary to
define your own build config. This is also true of tsconfig.json. If you use
the UI SDK, you no longer define how your TypeScript should be compiled.