Skip to content
This repository has been archived by the owner on Jan 2, 2019. It is now read-only.

A Pipeline Shared Library to support external artifacts in Azure

License

Notifications You must be signed in to change notification settings

CodeValet/external-artifacts

Repository files navigation

External Artifacts

This Pipeline Shared Library performs an override of the built-in archive and archiveArtifacts steps to provide external artifact storage.

Configuring

The main entrypoint for this library is to load it as a Global Pipeline Library:

Configuring the Pipeline Library

Environment Variables

The following environment variables should be set in JENKINS_HOME/configure:

  • AZURE_STORAGE_ACCOUNT

  • AZURE_CONTAINER_NAME

Configuring Environent Variables

Credentials

A "Secret Text" credential should be defined with the ID azure-access-key, and contain an Azure Storage Account "Access Key."

Configuring Credentials

Notes for the future

Artifact Pointer

It might make sense to implement an artifact pointer (via a plugin extending this extension point) which avoids the need for an HTTP redirect.

An artifact pointer could be described as a JSON file, e.g.:

timestamps.txt.jartptr
{
    "fingerprint" : "<md5sum of original file>",
    "uri" : "https://some/external/uri",
    "name" : "timestamps.txt",
    "attributes" : {
        "bytes" : 309,
        "ctime" : "2018-01-04 17:00:00Z"
    }
}

Jenkins could then identify this file as such, and link a timestamps.txt in the web UI directly to the uri attribute defined in the .jartptr manifest.

About

A Pipeline Shared Library to support external artifacts in Azure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published