Skip to content

armory-plugins/evaluate-artifacts

Repository files navigation

CI

The evaluateArtifactsStagePlugin, also called the EvaluateArtifacts plugin, creates a custom pipeline stage that evaluates artifacts of a pipeline for SpEL expressions.

Version Compatibility

Plugin Spinnaker Platform
1.0.x 1.24.x

Usage

  1. Run ./gradlew releaseBundle
  2. Put the /build/distributions/<project>-<version>.zip into the configured plugins location for your service.
  3. 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.json

See the Evaluate Artifacts Repository for official releases.

Deployment on Spinnaker 1.24.0+

See the Plugin Users Guide and the pf4jStagePlugin Deployment Example.

Debugging

To debug the evaluate-artifacts-orca server component inside a Spinnaker service (like Orca) using IntelliJ Idea follow these steps:

  1. Run ./gradlew releaseBundle in the plugin project.
  2. Copy the generated .plugin-ref file under build in the plugin project submodule for the service to the plugins directory under root in the Spinnaker service that will use the plugin .
  3. 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).
  4. Configure the Spinnaker service the same way specified above.
  5. Create a new IntelliJ run configuration for the service that has the VM option -Dpf4j.mode=development and does a Build Project before launch.
  6. 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.

Architecture

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.

evaluate-artifacts-orca

evaluate-artifacts-deck

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 application
  • package.json: defines dependencies
  • EvaluateArtifactsStage.tsx: defines the custom pipeline stage; renders UI output
  • index.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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7